GHSA-pj7x-6wpf-pgvp
Payload: SQL injection in SQLite/Postgres
At a glance
- Published
- Updated
- CVE
- CVE-2026-105856, CVE-2026-63316
- CVSS_V4
- CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
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-sqlite` or `@payloadcms/db-d1-sqlite`. - You use `@payloadcms/db-postgres` or `@payloadcms/db-vercel-postgres` `< 3.73.0`. - A readable collection has a `json` field, or a` blocks` field with `blocksAsJSON: true`. - The attacker has read plus create or update access on it. #### You are not affected if: - You have no `json or `blocksAsJSON` fields. `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`.
Affected packages
| Package | Versions |
|---|---|
| npm · @payloadcms/db-sqlite | introduced 3.0.0, fixed 3.90.0 |
| npm · @payloadcms/db-d1-sqlite | introduced 3.0.0, fixed 3.90.0 |
| npm · @payloadcms/db-postgres | introduced 3.0.0, fixed 3.73.0 |
| npm · @payloadcms/db-vercel-postgres | introduced 3.0.0, fixed 3.73.0 |
| npm · @payloadcms/db-sqlite | introduced 4.0.0-canary.0, fixed 4.0.0-canary.34 |
| npm · @payloadcms/db-d1-sqlite | introduced 4.0.0-canary.0, fixed 4.0.0-canary.34 |
References
- https://github.com/payloadcms/payload/security/advisories/GHSA-pj7x-6wpf-pgvp WEB
- https://nvd.nist.gov/vuln/detail/CVE-2026-105856 ADVISORY
- https://github.com/payloadcms/payload/commit/03b78c7e0901d19c67f07bdf6396a276010adbcc WEB
- https://github.com/payloadcms/payload PACKAGE
- https://github.com/payloadcms/payload/releases/tag/v3.90.0 WEB
Sources
| Source | Licence |
|---|---|
| OSV.dev | CC-BY 4.0 — GitHub Advisory Database |