Impact
The validation for protected fields only checks top-level query keys. By wrapping a query constraint on a protected field inside a logical operator, the check is bypassed entirely. This allows any authenticated user to query on protected fields to extract field values.
All Parse Server deployments have default protected fields and are vulnerable.
Patches
The fix adds recursive validation of sub-queries with logical operators, consistent with the existing recursive validation patterns.
Workarounds
Use a beforeFind trigger on affected classes to manually inspect the query for protected field references in logical operator sub-queries and reject the request.
References
Impact
The validation for protected fields only checks top-level query keys. By wrapping a query constraint on a protected field inside a logical operator, the check is bypassed entirely. This allows any authenticated user to query on protected fields to extract field values.
All Parse Server deployments have default protected fields and are vulnerable.
Patches
The fix adds recursive validation of sub-queries with logical operators, consistent with the existing recursive validation patterns.
Workarounds
Use a
beforeFindtrigger on affected classes to manually inspect the query for protected field references in logical operator sub-queries and reject the request.References