Vulnerability · Published Oct 6, 2026 · Assigned by GitHub_M
CVE-2026-105856Payload: SQL injection in SQLite/Postgres
High 8.6
In plain English
A high-severity SQL injection in db-d1-sqlite from @payloadcms. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.3% (higher than 22% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official description
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 packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| npm | @payloadcms/db-d1-sqlite | 3.90.0 | GHSA-pj7x-6wpf-pgvp |
| npm | @payloadcms/db-d1-sqlite | 4.0.0-canary.34 | GHSA-pj7x-6wpf-pgvp |
| npm | @payloadcms/db-postgres | 3.73.0 | GHSA-pj7x-6wpf-pgvp |
| npm | @payloadcms/db-sqlite | 3.90.0 | GHSA-pj7x-6wpf-pgvp |
| npm | @payloadcms/db-sqlite | 4.0.0-canary.34 | GHSA-pj7x-6wpf-pgvp |
| npm | @payloadcms/db-vercel-postgres | 3.73.0 | GHSA-pj7x-6wpf-pgvp |
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| payloadcms | payload | >= 3.0.0, < 3.90.0>= 4.0.0-canary.0, < 4.0.0-canary.34 |
| @payloadcms | db-d1-sqlite | >= 3.0.0, < 3.90.0>= 4.0.0-canary.0, < 4.0.0-canary.34 |
| @payloadcms | db-postgres | >= 3.0.0 < 3.73.0 |
| @payloadcms | db-sqlite | >= 3.0.0, < 3.90.0>= 4.0.0-canary.0, < 4.0.0-canary.34 |
| @payloadcms | db-vercel-postgres | >= 3.0.0 < 3.73.0 |
Weakness: CWE-89 · Vector: 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