IT SBIT Services
Schneeberger
DEEN
CVE tracker

Payload: SQL injection in SQLite and Postgres database adapters

CVE-2026-105856High 8.6

← All vulnerabilities

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

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.

NVD references (3)

Sources

The tracker combines official, freely usable data sources – updated continuously:

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.