Description
Payload is a free and open source headless content management system. In versions from 3.0.0 before 3.90.0 and canary versions before 4.0.0-canary.34, users with ordinary read access to other authentication documents in a collection with useAPIKey enabled can obtain active API keys and exercise the target accounts' permissions until those keys are rotated or disabled. This issue is fixed in versions 3.90.0 and 4.0.0-canary.34.
Published: 2026-10-06
Score: 7.7 High
EPSS: n/a
KEV: No
Impact: API Key Disclosure and Potential Account Takeover
Action: Apply Patch
AI Analysis

Impact

An ordinary document read in PayloadCMS can expose active API keys for the target collection when useAPIKey is enabled. The attacker can acquire a key that carries the full permissions of the account that owns it until the key is rotated or disabled. This flaw is an information exposure, allowing a malicious actor to use the key to perform actions on the system that the account is authorized to do, up to the permissions granted to that account.

Affected Systems

PayloadCMS from version 3.0.0 up to, but not including, 3.90.0 and all canary releases before 4.0.0-canary.34 are affected. Users of these builds with read access to authentication documents on a collection with useAPIKey enabled are at risk. Updated releases 3.90.0 and 4.0.0-canary.34 contain the fix.

Risk and Exploitability

The CVSS score of 7.7 indicates moderate to high severity. No EPSS score is provided, and the vulnerability is not listed in the CISA KEV catalog, suggesting it is not currently a known exploited target. The exploit path requires only ordinary read access with standard authentication, so an attacker who gains read privileges can retrieve the key. Once the key is in hand the attacker can act with the same authority as the account owner until the key is rotated or revoked.

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

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade PayloadCMS to version 3.90.0 or later, or to 4.0.0-canary.34 or later where the issue is fixed.
  • Immediately rotate or revoke all active API keys used by collections accessing API keys.
  • Disable the useAPIKey feature in collections that do not require it and reinforce proper authorization on document read endpoints.

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

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-238x-w2j9-gwwr Payload vulnerable to API key disclosure through ordinary document reads
History

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

Type Values Removed Values Added
Metrics ssvc

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


Tue, 06 Oct 2026 16:30: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.90.0 and canary versions before 4.0.0-canary.34, users with ordinary read access to other authentication documents in a collection with useAPIKey enabled can obtain active API keys and exercise the target accounts' permissions until those keys are rotated or disabled. This issue is fixed in versions 3.90.0 and 4.0.0-canary.34.
Title Payload: API key disclosure through ordinary document reads
Weaknesses CWE-201
CWE-862
References
Metrics cvssV4_0

{'score': 7.7, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-06T17:26:23.270Z

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

Link: CVE-2026-105849

cve-icon Vulnrichment

Updated: 2026-10-06T17:26:18.963Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-10-06T17:17:20.470

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

Link: CVE-2026-105849

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-06T18:15:04Z

Weaknesses
  • CWE-201

    Insertion of Sensitive Information Into Sent Data

  • CWE-862

    Missing Authorization