Parse Server has role escalation and CLP bypass via direct `_Join` table write
Critical severity
GitHub Reviewed
Published
Mar 10, 2026
in
parse-community/parse-server
•
Updated Mar 11, 2026
Package
Affected versions
>= 9.0.0-alpha.1, < 9.5.2-alpha.7
< 8.6.20
Patched versions
9.5.2-alpha.7
8.6.20
Description
Published by the National Vulnerability Database
Mar 10, 2026
Published to the GitHub Advisory Database
Mar 11, 2026
Reviewed
Mar 11, 2026
Last updated
Mar 11, 2026
Impact
Parse Server's internal tables, which store Relation field mappings such as role memberships, can be directly accessed via the REST API or GraphQL API by any client using only the application key. No master key is required.
An attacker can create, read, update, or delete records in any internal relationship table. Exploiting this allows the attacker to inject themselves into any Parse Role, gaining all permissions associated with that role, including full read, write, and delete access to classes protected by role-based Class-Level Permissions (CLP). Similarly, writing to any such table that backs a Relation field used in a
pointerFieldsCLP bypasses that access control.Patches
The fix blocks direct client access to internal relationship tables in Parse Server's role security enforcement. All create, find, get, update, and delete operations on these tables now require the master key or maintenance key.
Workarounds
There is no known workaround.
References
References