CVE-2026-105845: Payload CMS SQL injection in dynamic filters

CVE-2026-105845 · Severity: critical · CVSS 9.8 · Published 2026-10-06

Payload is a headless CMS and backend framework that uses SQL databases to store content. An unauthenticated attacker can submit malicious query filters or join parameters to extract, modify, or delete data from SQLite or PostgreSQL databases. MongoDB deployments are not affected by this vulnerability.

Technologies: payload (npm), Payload CMS, Payload CMS Payload. Vendors: npm, Payload, Payload CMS.

Quick answers

Is CVE-2026-105845 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-105845 being exploited in the wild.
How severe is CVE-2026-105845?
Critical severity, with a CVSS score of 9.8, published 6 October 2026.
Which products and versions are affected?
payload (npm) SEMVER:introduced=3.0.0,fixed=3.88.0; Payload CMS 3.0.0 before 3.88.0; 4.0.0-canary before 4.0.0-canary.27; Payload CMS Payload 3.0.0 through 3.87.x, 4.0.0-canary.0 through 4.0.0-canary.26.
Is there a fix for CVE-2026-105845?
Yes. payload (npm): upgrade to 3.88.0 or later. Until then: Restrict untrusted users from supplying dynamic query filters or join parameters and limit read access to affected collections until upgrading to a patched version. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-105845 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-105845?
Check whether you run payload (npm), Payload CMS or Payload CMS Payload at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • payload (npm): upgrade to 3.88.0 or later
    npm install payload@3.88.0

Restrict untrusted users from supplying dynamic query filters or join parameters and limit read access to affected collections until upgrading to a patched version.

Technical details

A SQL injection vulnerability exists in Payload's dynamic query filter and join parameter handling for SQLite and PostgreSQL backends. Attackers with network access to readable collections can inject SQL code through query parameters without authentication or user interaction, allowing arbitrary SQL command execution. The vulnerability affects versions 3.0.0–3.87.x and 4.0.0-canary.0–canary.26; patched versions sanitize or parameterize user-supplied input.

Affected products

  • Payload CMS Payload 3.0.0 through 3.87.x, 4.0.0-canary.0 through 4.0.0-canary.26

Identifiers

  • CVE-2026-105845
  • GHSA-v49j-62m6-pgrr

Timeline

  • 2026-09-22: disclosed
  • 2026-10-06: advisory

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.