CVE-2026-100632: Parse Server 9.0.0 before 9.10.1 Protected Fields Disclosure via LiveQuery
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 Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Parse Serverto a version that resolves this vulnerability.Fixed in 9.10.1-alpha.8 - Upgrade
Upgrade
Parse Serverto a version that resolves this vulnerability.Fixed in 8.6.89 - Configuration
Additionally define the affected field masks under the public (*) group.
Parse Server protectedFields public (*) field masks = defined - Configuration
Disable LiveQuery for classes whose class-level permissions rely on role-scoped, authenticated, or per-user protectedFields groups.
Parse Server LiveQuery LiveQuery = disabled
Event History
Frequently Asked Questions
Which deployments are affected?
Affected deployments run versions 9.0.0 through before 9.10.1-alpha.8, or versions earlier than 8.6.89, and have LiveQuery enabled for classes using protectedFields rules under role:, authenticated, or per-user groups. Public (*) protectedFields masks are applied correctly and are not affected by this issue.
What access does an attacker need?
An attacker needs to be an authenticated LiveQuery subscriber. The flaw can expose field values that the REST API would withhold when the relevant protectedFields mask is scoped to a role, authenticated users, or a specific user.
Can the issue be exploited through subscription filtering?
Yes. An authenticated subscriber can use a masked field to filter or watch a LiveQuery subscription, even when that field should be protected by an affected protectedFields rule.
What can be done before upgrading?
Add the affected field masks under the public (*) group as well, or disable LiveQuery for classes whose permissions depend on role-scoped, authenticated, or per-user protectedFields groups. Fixed releases are 9.10.1-alpha.8 and 8.6.89.