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.
The fix adds recursive validation of sub-queries with logical operators, consistent with the existing recursive validation patterns.
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.
| Score | Percentile |
|---|---|
| 0.04% | 12.05% |
| Base score | Version | Severity | Vector |
|---|---|---|---|
| 7.1 | 4.0 | — |
|
| Type | Value |
|---|---|
| GHSA | GHSA-72hp-qff8-4pvv ↗ |
| CVE | CVE-2026-30962 ↗ |
| CWE id | Name |
|---|---|
| CWE-284 | Improper Access Control |
Vulnerable version ranges and first patched releases as published by GitHub.
| Ecosystem | Package | Vulnerable range | First patched | Vulnerable functions |
|---|---|---|---|---|
| npm | parse-server | >= 9.0.0, < 9.5.2-alpha.6 | 9.5.2-alpha.6 | — |
| npm | parse-server | < 8.6.19 | 8.6.19 | — |