Description
Payload is a free and open source headless content management system. In versions from 3.0.0 before 3.88.0 and canary versions before 4.0.0-canary.27, an untrusted user who can query readable collections through dynamic filters or joins can submit a request that causes SQL injection in the SQLite and Postgres adapters. This issue is fixed in versions 3.88.0 and 4.0.0-canary.27.
Published: 2026-10-06
Score: 9.8 Critical
EPSS: < 1% Very Low
KEV: No
Impact: Remote Code Execution
Action: Patch Now
AI Analysis

Impact

A crafted query that includes user-controlled portions of a dynamic filter or join in Payload’s SQLite or Postgres adapters can execute arbitrary SQL commands. This allows an attacker to read, modify or delete database contents, potentially compromising confidentiality, integrity, or availability of all content managed by the CMS and exposing sensitive data to the attacker.

Affected Systems

All Payload instances using the open source headless CMS between release 3.0.0 (exclusive) and 3.88.0 (inclusive) and all canary releases prior to 4.0.0‑canary.27 are vulnerable. The issue is resolved in Payload v3.88.0 and the 4.0.0‑canary.27 release.

Risk and Exploitability

The CVSS score of 9.8 classifies this as a critical flaw and, although the EPSS score is not available, the missing KEV status indicates that the vulnerability has not yet been widely exploited. The attack vector is inferred to be through the CMS API that accepts dynamic filters or join clauses, enabling unauthenticated or otherwise untrusted users to inject malicious SQL into backend queries. Given the severity, the likelihood of exploitation remains high, particularly for exposed or publicly reachable instances.

Generated by OpenCVE AI on October 6, 2026 at 18:05 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade Payload to version 3.88.0 or later, or to 4.0.0-canary.27 if using canary releases.
  • If upgrading is not immediately feasible, restrict or disable the use of dynamic filters and join statements for roles that do not require them, thereby limiting the attack surface for untrusted users.
  • Ensure that any remaining user‑supplied query fragments are validated against an allowed set of operators and are passed to the database through parameterized queries, preventing arbitrary SQL execution.

Generated by OpenCVE AI on October 6, 2026 at 18:05 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-v49j-62m6-pgrr Payload: SQL Injection in SQLite and Postgres
History

Wed, 07 Oct 2026 06:45:00 +0000

Type Values Removed Values Added
First Time appeared Payloadcms
Payloadcms payload
Vendors & Products Payloadcms
Payloadcms payload

Tue, 06 Oct 2026 19:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Tue, 06 Oct 2026 16:00:00 +0000

Type Values Removed Values Added
Description Payload is a free and open source headless content management system. In versions from 3.0.0 before 3.88.0 and canary versions before 4.0.0-canary.27, an untrusted user who can query readable collections through dynamic filters or joins can submit a request that causes SQL injection in the SQLite and Postgres adapters. This issue is fixed in versions 3.88.0 and 4.0.0-canary.27.
Title Payload: SQL Injection in SQLite and Postgres
Weaknesses CWE-89
References
Metrics cvssV3_1

{'score': 9.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'}


Subscriptions

Payloadcms Payload
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-06T17:27:31.326Z

Reserved: 2026-10-05T23:06:29.747Z

Link: CVE-2026-105845

cve-icon Vulnrichment

Updated: 2026-10-06T17:27:26.263Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-10-06T16:17:06.540

Modified: 2026-10-06T20:03:40.690

Link: CVE-2026-105845

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-07T06:30:13Z

Weaknesses
  • CWE-89

    Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')