Payload: SQL injection in SQLite and Postgres database adapters
Summary
Payload, a free and open source headless content management system, is affected in its SQLite and Postgres database adapters. 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 these fields and richText fields are not affected.
Affected
- @payloadcms/db-sqlite and @payloadcms/db-d1-sqlite: >= 3.0.0 and < 3.90.0, and >= 4.0.0-canary.0 and < 4.0.0-canary.34
- @payloadcms/db-postgres and @payloadcms/db-vercel-postgres: >= 3.0.0 and < 3.73.0
Fixed in
- SQLite adapters: 3.90.0 and 4.0.0-canary.34
- Postgres adapters: 3.73.0
Workaround
Unknown. The vendor describes no workaround; patching is the remedy.
Exploitation
- No evidence of in-the-wild exploitation found at the time of research.
- No public proof of concept found.
- CISA SSVC: exploitation none, not automatable.
- EPSS: 0.00269.
Our recommendation
- Identify all Payload packages in use, including the @payloadcms/db-* adapters, in package.json and lockfiles.
- Upgrade SQLite and D1 setups to 3.90.0 or 4.0.0-canary.34, and Postgres setups to 3.73.0 or later. Upgrading to the latest stable 3.x release is recommended.
- Review collections with JSON or blocksAsJSON blocks fields and limit who can create or update them.
- Check logs for unusual query parameters on these collections.
Public exploits
PoC-in-GitHub, Metasploit and Exploit-DB list nothing for this CVE.
Research sources
- GitHub Security Advisory GHSA-pj7x-6wpf-pgvp github.com
- Fix commit 03b78c7 github.com
- Payload release v3.90.0 github.com
- OSV entry CVE-2026-105856 osv.dev
- GitHub Advisory Database GHSA-pj7x-6wpf-pgvp github.com
- Tenable CVE-2026-105856 www.tenable.com
Researched and written up in English and German by an AI (Claude by Anthropic) based on NVD, CISA, EPSS and the sources listed. The vendor information is authoritative. Researched on 1 Nov 2026, 09:17.
Original description (NVD)
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.
Sources
The tracker combines official, freely usable data sources – updated continuously:
- NVD (NIST) – CVEs, rating (CVSS), affected products
- CISA KEV – vulnerabilities confirmed by CISA as actively exploited
- CISA Vulnrichment – CISA assessment (SSVC) in the official CVE record
- FIRST EPSS – probability of exploitation
- Microsoft MSRC – Patch Tuesday: vulnerabilities, severity, updates
- PoC-in-GitHub – public proof-of-concept repositories
- Metasploit (Rapid7) – modules of the Metasploit Framework
- Exploit-DB (OffSec) – archive of public exploits (links only)
- Patch days: official vendor pages (linked per vendor) (Vendor patch days)
This product uses data from the NVD API but is not endorsed or certified by the NVD. EPSS data © FIRST.org.
Affected? We can help.
We check whether your systems are affected, install updates and close the gap – continuously with the System Health Checker if you wish.
