CVE-2026-105856 Payload: SQL injection in SQLite/Postgres

High 8.6 Published Updated

Attackers with specific collection access can inject SQL via crafted field paths in Payload CMS, potentially reading or modifying data.

Exploited in the wild
Not known
Login needed
Any signed-in user
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2026-105856?

CVE-2026-105856 is a high-severity SQL injection vulnerability in @payloadcms db-d1-sqlite, published on 6 Oct 2026. Any signed-in user can exploit it over the network, with no action from the victim.

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.

Weakness: CWE-89

Which versions are affected by CVE-2026-105856?

It affects 1 product.

Products include Payloadcms Payload.

How do I fix CVE-2026-105856?

Upgrade to a fixed version.

Use parameterised queries everywhere and never build SQL by joining strings. Upgrade affected software first; a web application firewall only buys time. More about SQL injection.

Is CVE-2026-105856 being exploited?

There is no known exploitation of CVE-2026-105856 in the wild and no public exploit code.

Sources

Is CVE-2026-105856 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free