Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify readable collection with protected field
-
ExploitSubmit query sorting by protected field
-
ExecutionObserve record ordering in response
-
ImpactInfer partial protected field values
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V14 - Data Protection Data exposure prevention
MITRE ATT&CK
2 techniques across 2 tactics: Collection, Discovery The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires a specific, concurrent set of conditions in the Payload deployment: (1) a collection whose read/query access is granted to the untrusted attacker, (2) the attacker able to control the sort parameter on that collection's query, and (3) at least one field on that collection protected by field-level read access control that the attacker selects as the sort key. The disclosure is limited - the attacker infers partial information about protected field values from result ordering, not the raw values. Limiting factors that reduce real-world risk: deployments that do not expose collections to untrusted/anonymous users, that restrict or fix the sort parameter, or that do not mix readable collections with field-level-protected fields are not exploitable. The vendor workaround (prevent untrusted users from controlling sort parameters, or restrict access to affected collections) directly removes conditions 1-2. |
| Impact | This is a genuine but modest-severity information-disclosure weakness (CWE-200) that should be treated as a routine, low-urgency patch rather than an emergency. The only quantitative signal provided is the vendor/NVD CVSS 4.0 vector (CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N, score 6.9), which describes a network-reachable, low-complexity attack with no privileges or user interaction but only LOW confidentiality impact and zero integrity/availability impact - the impact is explicitly limited to inferring partial information about protected field values via a sort-order side channel, not reading them directly. No EPSS score, no CISA KEV listing, and no public exploit were supplied, so this is 'no public exploit identified at time of analysis'; there is no evidence of active exploitation and these signals should not be invented. The PR:N rating in the vector is somewhat optimistic for the real world: the GHSA advisory states the attacker must be an 'untrusted user who can query a readable collection,' so exploitability hinges on the deployment exposing a collection to untrusted/anonymous users while simultaneously protecting individual fields on it - a specific access-control configuration, not a universal default. Net: real, confirmed by the vendor advisory and a fix commit, but a side-channel inference bug of limited value, appropriate to patch on a normal cycle rather than as a drop-everything priority. |
| Exploit ScenarioDerived | An application built on Payload exposes a collection that untrusted users may read, but with certain fields (e.g. an internal status, score, or flag) protected by field-level access control. The attacker repeatedly issues list/query requests sorting by the protected field and, by observing how records reorder across queries, infers limited information about those hidden field values they are not permitted to read. No public proof-of-concept was provided, and the attack yields only partial inference rather than direct field disclosure. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 06, 2026
Payload CMS versions prior to 3.88.0 and canary builds prior to 4.0.0-canary.27 allow unauthenticated remote attackers to infer limited information about field values they are not permitted to read, by supplying a protected field name as the sort parameter on a collection they can query. The disclosure is indirect - the attacker learns partial information from result ordering rather than reading raw values - and exploitation requires a specific alignment of conditions (readable collection, attacker-controlled sort, and a field-level-protected sort key), which is why the assessed severity is limited (CVSS 3.1 AV:N/AC:H/PR:N/UI:N/C:L/I:N/A:N) despite the vendor-published CVSS 4.0 score of 6.9. There is no public exploit code and no confirmed active exploitation (no CISA KEV listing) at time of analysis; vendor patches are available in 3.88.0 and 4.0.0-canary.27, making this a routine low-urgency update rather than an emergency.
RemediationAI
Upgrade the payload package to 3.88.0 or later, or to 4.0.0-canary.27 or later if tracking the canary channel - a vendor-released patch is available in both branches and applies field-level access checks to sort fields before query execution. If immediate upgrade is not possible, apply the vendor-documented workarounds: prevent untrusted users from controlling the sort parameter (for example by whitelisting or hard-coding permitted sort fields in the API layer that fronts Payload, at the cost of losing client-driven sorting), or restrict untrusted users' read/query access to any collection that mixes readable data with field-level-protected fields (at the cost of reduced functionality for those consumers). Both workarounds directly remove the prerequisites for exploitation and can be layered with the upgrade. Confirm the deployed version by inspecting the installed package metadata, and consult the advisory at https://github.com/payloadcms/payload/security/advisories/GHSA-9g87-32v6-3c2r and the release notes at https://github.com/payloadcms/payload/releases/tag/v3.88.0 for the authoritative fix details; deployments that never expose collections to untrusted or anonymous querying are not exploitable and can schedule the upgrade as routine maintenance.
Affected VersionsENISA
Affected Packages
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
The root cause is an information-disclosure weakness (CWE-200) in Payload's query pipeline: collection find, findDistinct, findVersions, and update operations passed the client-supplied sort field into the database query without first running field-level read access control against that sort path. Because sorting causes the database to order rows by the protected field's value, an attacker who can query a readable collection, control the sort parameter, and name a field they cannot read can observe the relative ordering of returned documents and thereby deduce partial information about those hidden values - an oracle-style side channel rather than a direct disclosure. The fix introduces a validateSortQuery helper (packages/payload/src/database/queryValidation/validateSortQuery.js) that applies field-level access checks to sort fields, including version fields, before query execution; the corresponding commit wires it into find.ts, findDistinct.ts, findVersions.ts, and update.ts. The affected artifact is the npm-distributed payload package, reflected by CPE cpe:2.3:a:payloadcms:payload and the tag 'Information Disclosure'. Note that the referenced commit also contains unrelated changes to the example auth app (getSafeRedirect usage in login/create-account forms), which are not part of this vulnerability.
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
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
Network side channel yielding only inferred partial data, so C:L with no I/A; AC:H because it needs the specific readable-collection-plus-protected-field configuration and iterative inference; PR:N since the target collection is readable by untrusted users.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
Payload is a free and open source headless content management system. In versions before 3.88.0 and canary versions before 4.0.0-canary.27, an untrusted user who can query a readable collection, control its sorting, and select a protected field as the sort parameter can infer limited information about field values the user cannot read. This issue is fixed in versions 3.88.0 and 4.0.0-canary.27.
Blast Radius
ecosystem impact- 2 npm packages depend on payload (2 direct, 0 indirect)
Ecosystem-wide dependent count for version 4.0.0-canary.0.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
An arbitrary file upload vulnerability in the file upload module of PayloadCMS v0.15.0 allows attackers to execute arbit
Prototype pollution in Payload CMS's @payloadcms/plugin-import-export module lets an unauthenticated remote attacker sub
Field-level access control can be bypassed in Payload CMS's document duplicate operation, letting a caller with access t
Duplicate order processing in @payloadcms/plugin-ecommerce allows remote, unauthenticated attackers to have a single Str
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
API key disclosure in Payload CMS lets an authenticated user with ordinary read access to other users' authentication do
Authenticated users who can update an auth collection document in Payload CMS can change the password field on that docu
Payload CMS versions before 3.90.0 and canary versions before 4.0.0-canary.34 contain an authorization bypass in relatio
Unauthorized read access to stored form submissions and form email configuration in Payload CMS deployments running the
Payload CMS releases before 3.90.0 (and canary builds before 4.0.0-canary.34) expose an orderable reorder endpoint that
Payload CMS prior to 3.73.0 has a SQL injection vulnerability when querying structured data, enabling database compromis
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
EUVD-2026-93464
GHSA-9g87-32v6-3c2r
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB