---
id: CVE-2026-105856
title: Payload is a free and open source headless content management system
summary: >-
  Payload is a free and open source headless content management system. Prior to
  3.90.0 and 4.0.0-canary.34, an attacker with read and create or update access
  to a collection containing a json field or a blocks field with blocksAsJSON
  enab…
severity: high
cvss: 8.3
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:L'
cwe:
  - CWE-89
vendor: payloadcms
product: payload
affected:
  - payload < 3.90.0
  - payload = 4.0.0
patched:
  - payload 3.90.0
published: '2026-10-06'
updated: '2026-10-15'
sourceUpdated: '2026-10-15T00:11:47.513'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-105856'
references:
  - url: >-
      https://github.com/payloadcms/payload/commit/03b78c7e0901d19c67f07bdf6396a276010adbcc
    label: security-advisories@github.com
  - url: 'https://github.com/payloadcms/payload/releases/tag/v3.90.0'
    label: security-advisories@github.com
  - url: >-
      https://github.com/payloadcms/payload/security/advisories/GHSA-pj7x-6wpf-pgvp
    label: security-advisories@github.com
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-105856'
  - url: 'https://github.com/advisories/GHSA-pj7x-6wpf-pgvp'
tags:
  - nvd
  - cve.org
  - ghsa
  - npm
epss: 0.00294
epssPercentile: 0.21845
aliases:
  - GHSA-pj7x-6wpf-pgvp
ecosystem: npm
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2026-10-06T17:34:12.712056Z'
scores:
  nvd: 8.3
  cna: 8.6
ingestedAt: '2026-10-06T17:09:22.199Z'
---

## Overview

Payload is a free and open source headless content management system. Prior to 3.90.0 and 4.0.0-canary.34, an attacker with read and create or update access to a collection containing a json field or a blocks field with blocksAsJSON enabled can inject SQL through a crafted field path and operators. Collections without those fields are not affected, and richText fields are not affected. The SQLite packages are fixed in versions 3.90.0 and 4.0.0-canary.34, and the Postgres packages are fixed in version 3.73.0.

## Affected

- `payload < 3.90.0`
- `payload = 4.0.0`

## Remediation

Upgrade past the affected range:

- `payload 3.90.0`

## Package advisory (CVE-2026-105856)

Affected packages:

- `@payloadcms/db-sqlite >= 3.0.0, < 3.90.0`
- `@payloadcms/db-d1-sqlite >= 3.0.0, < 3.90.0`
- `@payloadcms/db-postgres >= 3.0.0, < 3.73.0`
- `@payloadcms/db-vercel-postgres >= 3.0.0, < 3.73.0`
- `@payloadcms/db-sqlite >= 4.0.0-canary.0, < 4.0.0-canary.34`
- `@payloadcms/db-d1-sqlite >= 4.0.0-canary.0, < 4.0.0-canary.34`

Patched in:

- `@payloadcms/db-sqlite 3.90.0`
- `@payloadcms/db-d1-sqlite 3.90.0`
- `@payloadcms/db-postgres 3.73.0`
- `@payloadcms/db-vercel-postgres 3.73.0`
- `@payloadcms/db-sqlite 4.0.0-canary.34`
- `@payloadcms/db-d1-sqlite 4.0.0-canary.34`

Source: https://github.com/advisories/GHSA-pj7x-6wpf-pgvp
