Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessExtract public API credentials from Parse client app
-
DeliveryObtain or guess owning object's objectId
-
ExploitCraft $relatedTo REST query referencing protected relation key
-
ExecutionSubmit unauthenticated GET request to Parse Server
-
PersistReceive related object list bypassing protectedFields and ACL
-
ImpactEnumerate private membership or confirm specific object linkage as oracle
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
|
| Exploitation Conditions | Exploitation requires only the standard public Parse API credentials (X-Parse-Application-Id and X-Parse-REST-API-Key) that are distributed to all clients of a Parse-backed application - no user session token, master key, or Cloud Code invocation is needed. The attacker must additionally know or enumerate the objectId of the owning parent object; Parse objectIds are 10-character alphanumeric strings that may be obtainable through other API queries, exposed in URLs, or brute-forced. The vulnerability is specifically triggered when either (a) the target relation field is listed in protectedFields for the requesting client role, or (b) the parent object's ACL or CLP denies read access to the public. Deployments where all relation fields are intentionally public and no sensitive membership data is stored in Relation fields are not meaningfully impacted. Exploitation does not require any non-default Parse Server configuration, special network positioning, or privileged access beyond what every Parse client already holds. |
| Impact | The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N) confirms network-reachable, zero-complexity, unauthenticated exploitation with limited confidentiality impact and no integrity or availability impact, yielding a score of 6.9. The EPSS score of 0.08% (23rd percentile) indicates low probability of opportunistic automated exploitation in the near term, and there is no CISA KEV listing, meaning active exploitation has not been confirmed. These signals suggest the vulnerability is not currently being mass-exploited. However, real-world impact is strongly application-dependent: deployments that use protectedFields or object ACLs to conceal sensitive relationship data face meaningful targeted disclosure risk that the low CVSS confidentiality sub-score understates. The oracle attack pattern - confirming membership of a specific object in a private relation with a single API call - enables targeted intelligence gathering rather than mass exploitation, which is consistent with the low EPSS despite the sensitivity of the exposed data. No conflicts between available data sources were identified; all signals are internally consistent. |
| Exploit ScenarioDerived | An attacker extracts the Parse Application ID and REST API Key from a mobile or web client - these credentials are embedded in every Parse application by design. The attacker then guesses or obtains the objectId of a private parent object (e.g., a group or user record with a restricted ACL) and issues a GET request to /classes/RelChild with a where clause containing a $relatedTo operator referencing that objectId and the name of a protected relation field. Prior to the patch, Parse Server returns the list of linked child objects in full, disclosing private group membership or block list contents without any authentication beyond the public API credentials. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 12, 2026
Unauthenticated relation membership disclosure in Parse Server allows any client holding only standard public API credentials to read objects linked through a Relation field that is explicitly hidden by protectedFields, or linked to a parent object that is inaccessible under its ACL or class-level permissions. By supplying only a known or guessed owning object's objectId, a remote unauthenticated caller can enumerate all objects in a protected relation or use the $relatedTo operator as a membership oracle - confirming whether a specific child object is privately linked to a given parent. This directly undermines applications that use Parse Server's access control primitives to protect sensitive relationships such as private group memberships, block lists, or account-to-resource associations. No public exploit identified at time of analysis; vendor-released patches exist at versions 8.6.80 and 9.9.1-alpha.6.
RemediationAI
Upgrade Parse Server to version 8.6.80 or later on the stable line, or to 9.9.1-alpha.6 or later on the alpha line, as documented in the vendor advisory at https://github.com/parse-community/parse-server/security/advisories/GHSA-wmwx-jr2p-4j4r and implemented via PRs #10493 and #10494. If an immediate upgrade is not feasible, a partial compensating control is to deploy an API gateway or reverse proxy that rejects or sanitizes query payloads containing the $relatedTo operator - this prevents the bypass entirely but will also block all legitimate $relatedTo usage by clients, which may break application features that depend on public relation traversal. An alternative is to temporarily replace protectedFields-based access control on sensitive relation fields with more restrictive CLP find/get rules or object ACLs that deny all public reads of parent objects; however, this changes the access model broadly and may affect unrelated query types. Neither workaround fully restores the intended semantics without the patch. There are no known zero-impact workarounds.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in npm
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Parse Server (cpe:2.3:a:parse-community:parse-server) is a Node.js open-source backend platform that exposes a REST and GraphQL API with class-level permissions (CLP), per-object ACLs, and a protectedFields mechanism for hiding specific fields from designated client roles. The $relatedTo query operator traverses a many-to-many Relation join table to return child objects linked to a specified parent. The root cause is CWE-639 (Authorization Bypass Through User-Controlled Key): prior to the fix, the query engine accepted a client-supplied objectId and relation key in the $relatedTo payload and consulted the join table directly without first verifying (a) whether the requested relation key was listed in protectedFields for the requesting user, or (b) whether the owning parent object was readable by the requesting user under its ACL or CLP. The fix introduced in PRs #10493 and #10494 adds an owning-object read-access gate on the relation path that must pass before the join table is consulted, and the test suite in vulnerabilities.spec.js explicitly validates denial for protected keys nested in $or, $and, and $nor compound queries as well.
Know when Parse Server 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-reachable with no meaningful authentication barrier; confidentiality impact is limited to relation membership enumeration only, with zero integrity or availability impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
Parse Server is an open source backend that can be deployed to any infrastructure that can run Node.js. Prior to versions 8.6.80 and 9.9.1-alpha.6, a relation query using the $relatedTo operator could read the membership of a Relation field even when that field was hidden from the requesting client by protectedFields, and even when the object owning the relation was not readable by the client under its ACL or class-level permissions. The request requires only the public API credentials that Parse clients normally carry - no user session, master key, or Cloud Code is needed. As a result, an unauthenticated client who knows or obtains the owning object's objectId could enumerate the objects linked through a protected relation, or combine the operator with an objectId constraint to use it as a membership oracle - confirming whether a specific object is linked to a private parent. This affects applications that rely on protectedFields or object ACLs to keep Relation membership confidential, such as private group memberships, block lists, or account-to-resource associations. This issue has been patched in versions 8.6.80 and 9.9.1-alpha.6.
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
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
More in Parse Server
View allParse Server is an open source http web server backend. Rated critical severity (CVSS 10.0), this vulnerability is remot
Unauthenticated query injection in Parse Server before 9.6.0-alpha.12/8.6.38. PoC available.
Parse Server has an incorrect authorization vulnerability enabling unauthorized data access across applications.
### Impact Parse Server's built-in OAuth2 auth adapter exports a singleton instance that is reused directly across all
Parse Server has a CVSS 10.0 access control vulnerability enabling complete bypass of all data access restrictions.
parse-server is a Parse Server for Node.js / Express. Rated critical severity (CVSS 10.0), this vulnerability is remotel
Authentication bypass in Parse Server allows unauthenticated access to protected API endpoints. Parse Server is a popula
SQL injection in Parse Server before 9.6.0-alpha.2/8.6.28.
SQL injection in Parse Server before 9.6.0-alpha.5/8.6.31. Third Parse Server SQLi.
SQL injection in Parse Server before 9.6.0-alpha.5/8.6.31.
Parse Server is an open source backend that can be deployed to any infrastructure that can run Node.js. Rated critical s
Parse Server is an open source backend that can be deployed to any infrastructure that can run Node.js. Rated critical s
EUVD-2026-36542
GHSA-wmwx-jr2p-4j4r
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB