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

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

Published
2026-10-06
Last Modified
2026-10-06
Generated
2026-10-06
AI Q&A
2026-10-06
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 8 associated CPEs
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
CWE Icon
KEV
KEV Icon
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.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

Payload CMS versions before 3.90.0 and 4.0.0-canary.34 have a vulnerability where attackers with read and create or update access to a collection with a JSON field or blocks field (with blocksAsJSON enabled) can inject SQL through crafted field paths and operators. Collections without these fields or richText fields are not affected.

Detection Guidance

Detecting this vulnerability requires checking Payload CMS versions and examining database fields for potential SQL injection attempts. Verify if your Payload CMS version is below 3.90.0 or 4.0.0-canary.34. Inspect collections with json or blocks fields for unusual field paths or operators. No specific commands are provided in the context.

Impact Analysis

An attacker could exploit this to execute arbitrary SQL commands on the database, potentially leading to unauthorized data access, modification, or deletion. This could compromise sensitive information stored in the CMS.

Compliance Impact

This vulnerability could lead to data breaches, violating GDPR's data protection requirements or HIPAA's security rules for protected health information. Non-compliance may result in legal penalties, reputational damage, and loss of trust.

Mitigation Strategies

Upgrade Payload CMS to version 3.90.0 or later for SQLite or 4.0.0-canary.34 for Postgres. For Postgres, upgrade to version 3.73.0. Ensure collections with json or blocks fields with blocksAsJSON enabled are updated.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-105856. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart