High, CVSS 8.6npmAmendedPublished
Payload: SQL injection in SQLite/Postgres
CVE-2026-105856 · GHSA-pj7x-6wpf-pgvp
- Affected
- npm @payloadcms/db-d1-sqlite >= 3.0.0, < 3.90.0; >= 4.0.0-canary.0, < 4.0.0-canary.34
- Fixed in
- 4.0.0-canary.343.90.0· Vendor fix available
- Issue
- 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.
Recommended action: Upgrade to 4.0.0-canary.34 (pre-release) or 3.90.0 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.