Skip to main content

Payload CMS CVE-2026-105849

| EUVDEUVD-2026-93492 HIGH
Insertion of Sensitive Information Into Sent Data (CWE-201)
2026-10-06 GitHub_M GHSA-238x-w2j9-gwwr
7.7
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as low-privileged user
  2. Delivery
    Read other users' auth documents
  3. Exploit
    Harvest exposed active API keys
  4. Execution
    Authenticate with stolen API key
  5. Impact
    Exercise target account's permissions

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V14 - Data Protection Outbound data filtering
Exploitation Conditions

Two concrete conditions must both hold: (1) an authentication collection has the auth option useAPIKey set to true, and (2) users are granted read access to other users' authentication documents in that collection (cross-user read, not self-read-only). The attacker must be an authenticated user with at least ordinary read access (PR:L). Exploitation is limited where deployments restrict users to reading only their own auth document, disable useAPIKey, or override the generated apiKey field's access control - these are the vendor-listed workarounds. Single-tenant or self-read-only configurations are not exploitable, which meaningfully narrows the exposed population despite the network attack vector.

Impact

This is a credible, upper-medium priority issue for environments that actually use the vulnerable feature, but not a drop-everything internet-wide emergency. The input CVSS 4.0 vector (AV:N/AC:L/AT:P/PR:L/UI:N) and vendor advisory agree that exploitation is network-reachable and technically trivial, but gated behind two real prerequisites: an attacker must already hold a valid low-privileged account (PR:L) and the target deployment must have enabled useAPIKey on an auth collection AND granted users read access to other users' documents (AT:P - attack requirement present). The VC:H/VI:H/VA:H impact is well justified: a leaked active API key is effectively account takeover of the target identity until the key is rotated. Mitigating the urgency: there is no CISA KEV listing, no public POC referenced, and no EPSS score supplied, so there is no evidence of active or at-scale exploitation - this is a disclosed-and-patched flaw, not a weaponized one. One signal to weigh honestly: EPSS and POC data are simply absent from the input (not low - missing), so exploitation probability cannot be quantified and should be treated as unknown rather than assumed low. The practical risk is therefore concentrated in multi-tenant or team Payload deployments where ordinary users can read each other's auth documents; single-user or self-read-only configurations are not exposed.

Exploit ScenarioDerived

In a Payload instance where an auth collection has useAPIKey enabled and ordinary users can read other users' documents, a low-privileged authenticated user issues a normal read request against another (e.g. higher-privileged) user's auth document and receives that account's active API key in the response. The attacker then uses the harvested key to authenticate as the victim and perform any action the victim is authorized for until the key is rotated or disabled. No public exploit is identified at time of analysis, but exploitation requires only standard read API calls and no special tooling.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
1 public PoC Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 06, 2026

API key disclosure in Payload CMS lets an authenticated user with ordinary read access to other users' authentication documents retrieve those users' active API keys and then act with the victim accounts' full permissions until the keys are rotated or disabled. Affected deployments are the npm payload package from 3.0.0 before 3.90.0 and canary releases from 4.0.0-canary.0 before 4.0.0-canary.34, but only where an authentication collection has useAPIKey enabled and users can read authentication documents they do not own - configurations restricted to self-read, or with useAPIKey disabled, are not exploitable. The CVSS 4.0 score is 7.7 (AV:N/AC:L/AT:P/PR:L) and our independent review assesses it as a credible upper-medium priority issue for environments that actually use the feature rather than an internet-wide emergency; no CISA KEV entry or public exploit code was identified at time of analysis.

RemediationAI

Upgrade the payload package to 3.90.0 or later, or to 4.0.0-canary.34 or later on the canary line - these are the vendor-released patch versions and the only complete fix, per GHSA-238x-w2j9-gwwr. Because the patch also changes the default permission model, plan for behavior changes: after upgrading, generated API keys are displayed only once at creation and are masked on subsequent reads, and only admins can manage keys unless you opt in with auth.useAPIKey.reveal: true and grant update access to the apiKey field. If you cannot upgrade immediately, apply the vendor-listed workarounds: set auth.useAPIKey to false on affected authentication collections (this disables key-based integrations entirely and will break any service authenticating with those keys), or tighten collection read access so users can read only their own authentication document (this is the most targeted mitigation and preserves the feature, but requires a custom access function and testing against existing role definitions), or override the generated apiKey field's create/update access using Payload's exported canAccessAdmin helper so field overrides compose with the admin boundary instead of replacing it. Regardless of timeline, treat every API key in an affected collection as potentially exposed and rotate or revoke it - the advisory stresses that an exposed key retains the target account's permissions until rotated or disabled - and review audit logs for use of those keys by unexpected principals. Note that field-level access overrides in older custom configurations may silently widen the exposure described here, so audit any pre-existing apiKey field overrides as part of the upgrade.

Affected VersionsENISA

payload 3.0.0, < 3.90.0
payload 4.0.0-canary.0, < 4.0.0-canary.34

Affected Packages

npm payload fix: 3.90.0, 4.0.0-canary.34
euvd payload_4_0_0_canary_0 fix: 4.0.0-canary.34

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in npm, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Payload is a headless CMS in which authentication is configured per collection via the auth option; setting auth.useAPIKey to true causes Payload to auto-generate enableAPIKey, apiKey, and apiKeyIndex fields on that collection. Although the stored key is encrypted at rest in the database, the generated apiKey field was returned in normal document read responses, so any principal passing the collection's read access check received the cleartext key. This is CWE-201, Insertion of Sensitive Information Into Sent Data: a secret is included in an outbound response that the recipient should not be authorized to see. The root cause is access control on the generated field rather than on the value itself - the pre-fix default effectively allowed read access to the key wherever document read access existed, and field-level overrides replaced (rather than composed with) Payload's internal canAccessAdmin boundary, making it easy for integrators to widen exposure unintentionally. The corresponding fix (commit 880d2e900be22cd66a9e939f2b3e702fa413180f) changes the default so no user, including admins, can read a stored key through built-in read operations; keys are shown once at generation and masked thereafter, an explicit auth.useAPIKey.reveal: true option is required to reveal them (and that option additionally requires read plus update access to the document and update access to the apiKey field), and administrators gain create/update/revoke scoping with an exported canAccessAdmin helper and UnauthorizedError for composing custom field access. The result is a permission-model change, not just a data-filtering patch, which is why upgrading can alter existing admin-panel workflows.

Know when Payload gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 7.7 HIGH
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
vuln.today AI 7.5 HIGH

Authenticated low-priv user (PR:L) over network (AV:N); AC:H reflects the required non-default useAPIKey + cross-user-read configuration, and a leaked key grants full account takeover (C/I/A:H).

3.1 AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Oct 06, 2026 - 18:19 EUVD
CVE Published
Oct 06, 2026 - 16:09 cve.org
HIGH 7.7

DescriptionCVE.org

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.

Technical POC Analysis

Bug class: CWE-201 (Insertion of Sensitive Information Into Sent Data), with a secondary CWE-862 (Missing Authorization) classification in the advisory.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Latest POC

1 public PoC link from github

Sign in to open the public PoC links collected for this CVE.

Executive ViewAI

Why It Matters

Payload CMS deployments using the useAPIKey feature and permissive read access to authentication documents are vulnerable to API key disclosure, allowing an authenticated user to impersonate other accounts with full permissions. This can lead to unauthorized access to sensitive data and business-critical operations. No public exploit has been identified at this time, but the absence of a vendor patch makes immediate mitigations essential.

Business Impact: High
Compensating Controls

No vendor patch is available; interim mitigations include restricting read access to authentication collections to self-only, disabling the useAPIKey feature if not required, rotating all API keys immediately and regularly, and monitoring logs for unauthorized API key usage.

Threat Intelligence Overview

EPSS Score
0.3%
Top 78% exploitable
Prevalence
Medium
popular open-source headless CMS, moderate real-world adoption
Threat Intel
1
1 source
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC Yes
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

58
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

CVE-2022-27952 CRITICAL POC
9.8 Apr 12

An arbitrary file upload vulnerability in the file upload module of PayloadCMS v0.15.0 allows attackers to execute arbit

CVE-2026-105844 CRITICAL POC
9.3 Oct 06

Prototype pollution in Payload CMS's @payloadcms/plugin-import-export module lets an unauthenticated remote attacker sub

CVE-2026-105851 CRITICAL POC
9.3 Oct 06

Field-level access control can be bypassed in Payload CMS's document duplicate operation, letting a caller with access t

CVE-2026-105850 HIGH POC
8.8 Oct 06

Duplicate order processing in @payloadcms/plugin-ecommerce allows remote, unauthenticated attackers to have a single Str

CVE-2026-105854 HIGH POC
8.7 Oct 06

Malformed multipart request bodies sent to Payload CMS versions 3.0.0 through 3.89.x and 4.0.0-canary.0 through 4.0.0-ca

CVE-2026-105855 HIGH POC
7.6 Oct 06

Authenticated users who can update an auth collection document in Payload CMS can change the password field on that docu

CVE-2026-105852 MEDIUM POC
6.9 Oct 06

Payload CMS versions before 3.90.0 and canary versions before 4.0.0-canary.34 contain an authorization bypass in relatio

CVE-2026-105857 CRITICAL
10.0 Oct 06

Unauthorized read access to stored form submissions and form email configuration in Payload CMS deployments running the

CVE-2026-105859 CRITICAL
9.8 Oct 06

Payload CMS releases before 3.90.0 (and canary builds before 4.0.0-canary.34) expose an orderable reorder endpoint that

CVE-2026-25544 CRITICAL POC
9.8 Feb 06

Payload CMS prior to 3.73.0 has a SQL injection vulnerability when querying structured data, enabling database compromis

CVE-2026-105845 CRITICAL POC
9.8 Oct 06

SQL injection in Payload CMS 3.0.0 through before 3.88.0 (and 4.0.0-canary builds before 4.0.0-canary.27) allows remote

CVE-2026-105804 MEDIUM POC
5.7 Oct 06

Payload CMS (npm package `payload`) versions 3.0.0 through 3.89.x and 4.0.0-canary builds before canary.34 hash account

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy