CVE-2026-105856CVE-2026-63316GHSA-pj7x-6wpf-pgvp
@payloadcms/db-sqlite: Payload: SQL injection in SQLite/Postgres
payloadcms @payloadcms/db-sqlitenpmDatabases
CVSS
8.6HighExploitationNo known exploitationNot in CISA KEV, which does not prove it is unexploitedCISA KEV
Exploit odds (EPSS)0.29%Chance of exploitation activity in the next 30 days, higher than 20% of CVEs. Scored 23 Oct 2026FIRST EPSS
What fixes it
- 3.90.0@payloadcms/db-sqlite, npmGitHub
npm install @payloadcms/db-sqlite@3.90.0 - 3.90.0@payloadcms/db-d1-sqlite, npmGitHub
npm install @payloadcms/db-d1-sqlite@3.90.0 - 3.73.0@payloadcms/db-postgres, npmGitHub
npm install @payloadcms/db-postgres@3.73.0 - 3.73.0@payloadcms/db-vercel-postgres, npmGitHub
npm install @payloadcms/db-vercel-postgres@3.73.0 - 4.0.0-canary.34@payloadcms/db-sqlite, npmGitHub
npm install @payloadcms/db-sqlite@4.0.0-canary.34 - 4.0.0-canary.34@payloadcms/db-d1-sqlite, npmGitHub
npm install @payloadcms/db-d1-sqlite@4.0.0-canary.34
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
Impact
An attacker who has read plus create or update access to a collection can submit a request that includes a SQL injection targeting a specific field path shape and operators in Payload's SQLite and Postgres.
You are affected if:
- You use
@payloadcms/db-sqliteor@payloadcms/db-d1-sqlite. - You use
@payloadcms/db-postgresor@payloadcms/db-vercel-postgres< 3.73.0. - A readable collection has a
jsonfield, or ablocksfield withblocksAsJSON: true. - The attacker has read plus create or update access on it.
You are not affected if:
- You have no
json orblocksAsJSONfields.richText` is not affected. - You run a patched version.
Patches
The patched version sanitizes the query input to prevent injection.
Users should upgrade Payload packages to >= 3.90.0 or >= 4.0.0-canary.34.
Text from GitHub Advisory Database
Affected versions 20
- @payloadcms/db-sqlite, npm>= 3.0.0, < 3.90.0GitHub
- @payloadcms/db-d1-sqlite, npm>= 3.0.0, < 3.90.0GitHub
- @payloadcms/db-postgres, npm>= 3.0.0, < 3.73.0GitHub
- @payloadcms/db-vercel-postgres, npm>= 3.0.0, < 3.73.0GitHub
- @payloadcms/db-sqlite, npm>= 4.0.0-canary.0, < 4.0.0-canary.34GitHub
- @payloadcms/db-d1-sqlite, npm>= 4.0.0-canary.0, < 4.0.0-canary.34GitHub
- payloadaffected: >= 3.0.0, < 3.90.0CVE List
- payloadaffected: >= 4.0.0-canary.0, < 4.0.0-canary.34CVE List
- db-d1-sqliteaffected: >= 3.0.0, < 3.90.0CVE List
- db-d1-sqliteaffected: >= 4.0.0-canary.0, < 4.0.0-canary.34CVE List
- db-postgresaffected: >= 3.0.0 < 3.73.0CVE List
- db-sqliteaffected: >= 3.0.0, < 3.90.0CVE List
- db-sqliteaffected: >= 4.0.0-canary.0, < 4.0.0-canary.34CVE List
- db-vercel-postgresaffected: >= 3.0.0 < 3.73.0CVE List
- @payloadcms/db-sqlite, npmfrom 3.0.0, fixed in 3.90.0OSV
- @payloadcms/db-d1-sqlite, npmfrom 3.0.0, fixed in 3.90.0OSV
- @payloadcms/db-postgres, npmfrom 3.0.0, fixed in 3.73.0OSV
- @payloadcms/db-vercel-postgres, npmfrom 3.0.0, fixed in 3.73.0OSV
- @payloadcms/db-sqlite, npmfrom 4.0.0-canary.0, fixed in 4.0.0-canary.34OSV
- @payloadcms/db-d1-sqlite, npmfrom 4.0.0-canary.0, fixed in 4.0.0-canary.34OSV
References 5
- github.com/payloadcms/payload/commit/03b78c7e0901d19c67f07bdf6396a276010adbccFixvia CVE List
- github.com/payloadcms/payload/releases/tag/v3.90.0Fixvia CVE List
- github.com/payloadcms/payload/security/advisories/GHSA-pj7x-6wpf-pgvpAdvisoryvia CVE List
- github.com/advisories/GHSA-pj7x-6wpf-pgvpAdvisoryvia GitHub
- nvd.nist.gov/vuln/detail/CVE-2026-105856Referencevia GitHub