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

PackageVersions
npm · @payloadcms/db-sqliteintroduced 3.0.0, fixed 3.90.0
npm · @payloadcms/db-d1-sqliteintroduced 3.0.0, fixed 3.90.0
npm · @payloadcms/db-postgresintroduced 3.0.0, fixed 3.73.0
npm · @payloadcms/db-vercel-postgresintroduced 3.0.0, fixed 3.73.0
npm · @payloadcms/db-sqliteintroduced 4.0.0-canary.0, fixed 4.0.0-canary.34
npm · @payloadcms/db-d1-sqliteintroduced 4.0.0-canary.0, fixed 4.0.0-canary.34

References

Sources

SourceLicence
OSV.devCC-BY 4.0 — GitHub Advisory Database