CVE-2026-105856
Received
Received - Intake
SQL Injection in Payload CMS
Vulnerability report for CVE-2026-105856, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.
Publication date: 2026-10-06
Last updated on: 2026-10-06
Assigner: GitHub, Inc.
Description
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.
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| payloadcms | payload | >= 3.0.0, < 3.90.0 |
| payloadcms | payload | >= 4.0.0-canary.0, < 4.0.0-canary.34 |
| @payloadcms | db-d1-sqlite | >= 3.0.0, < 3.90.0 |
| @payloadcms | db-d1-sqlite | >= 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 |
| @payloadcms | db-sqlite | >= 4.0.0-canary.0, < 4.0.0-canary.34 |
| @payloadcms | db-vercel-postgres | >= 3.0.0 < 3.73.0 |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-89 | The product constructs all or part of an SQL command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended SQL command when it is sent to a downstream component. Without sufficient removal or quoting of SQL syntax in user-controllable inputs, the generated SQL query can cause those inputs to be interpreted as SQL instead of ordinary user data. |