Description (CNA)
Parse Server is an open-source backend server. In versions >= 9.0.0 and < 9.10.1-alpha.8, and in versions < 8.6.89, LiveQuery evaluates the protectedFields class-level permission against an incompletely resolved caller identity: the subscriber's roles are not resolved, and when a subscription does not supply its own session token the event payload is redacted against an anonymous identity even though the read was authorized against the connected user. As a result, field masks defined for a role, for authenticated users, or for a specific user are not applied, so an authenticated subscriber can receive field values that the REST API correctly withholds and can use a masked field to filter or watch a subscription. Only classes with LiveQuery enabled that define protectedFields under a role:, authenticated, or per-user group are affected; masks under the public (*) group are applied correctly. The issue is fixed in 9.10.1-alpha.8 and 8.6.89. As a workaround, additionally define the affected field masks under the public (*) group, or disable LiveQuery for classes whose class-level permissions rely on role-scoped, authenticated, or per-user protectedFields groups.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| parse-community / parse-server | affected 9.0.0 before 9.10.1-alpha.8; unaffected 9.10.1-alpha.8 |
| parse-community / parse-server | affected 0 before 8.6.89; unaffected 8.6.89 |
CWE
CWE-200
References
- https://github.com/parse-community/parse-server/security/advisories/GHSA-9jpp-xhh6-75mf
- https://www.vulncheck.com/advisories/parse-server-9.0.0-before-9.10.1-protected-fields-disclosure-via-livequery
ADP enrichment
No English description supplied.
No references supplied.