Parse Server: LiveQuery protected-field guard bypass via array-like logical operator value
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Attack requirements
- None
- Impact type
- —
- Confidentiality · integrity · availability
- Low · None · None
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA and GitHub.
Summary
Parse Server is an open source backend that can be deployed to any infrastructure that can run Node.js. Prior to versions 8.6.70 and 9.7.0-alpha.18, an authenticated user with find class-level permission can bypass the protectedFields class-level permission setting on LiveQuery subscriptions. By sending a subscription with a $or, $and, or $nor operator value as a plain object with numeric keys and a length property (an "array-like" object) instead of an array, the protected-field guard is bypassed. The subscription event firing acts as a binary oracle, allowing the attacker to infer whether a protected field matches a given test value. This issue has been patched in versions 8.6.70 and 9.7.0-alpha.18.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| parse-community | parse-server | before 8.6.70; 9.0.0 to before 9.7.0-alpha.18 | 8.6.70, 9.7.0-alpha.18 | Patch available | CNA |
| — | parse-server (npm) | 9.0.0 to before 9.7.0-alpha.16 | 9.7.0-alpha.16 | Patch available | GHSA-mmg8-87c5-jrc2 |
| — | parse-server (npm) | before 8.6.70 | 8.6.70 | Patch available | GHSA-mmg8-87c5-jrc2 |
- parse-server Vendorparse-community Affected before 8.6.70; 9.0.0 to before 9.7.0-alpha.18 Fixed in 8.6.70, 9.7.0-alpha.18 Patch available CNA
- parse-server (npm) Vendor— Affected 9.0.0 to before 9.7.0-alpha.16 Fixed in 9.7.0-alpha.16 Patch available GHSA-mmg8-87c5-jrc2
- parse-server (npm) Vendor— Affected before 8.6.70 Fixed in 8.6.70 Patch available GHSA-mmg8-87c5-jrc2
CPE configurations NVD · 16
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:parseplatform:parse-server:*:*:*:*:*:node.js:*:* | before 8.6.70; 9.0.0 to before 9.7.0 | Vulnerable | parse-community |
| cpe:2.3:a:parseplatform:parse-server:9.7.0:alpha1:*:*:*:node.js:*:* | 9.7.0 alpha1 | Vulnerable | parse-community |
| cpe:2.3:a:parseplatform:parse-server:9.7.0:alpha10:*:*:*:node.js:*:* | 9.7.0 alpha10 | Vulnerable | parse-community |
| cpe:2.3:a:parseplatform:parse-server:9.7.0:alpha11:*:*:*:node.js:*:* | 9.7.0 alpha11 | Vulnerable | parse-community |
| cpe:2.3:a:parseplatform:parse-server:9.7.0:alpha12:*:*:*:node.js:*:* | 9.7.0 alpha12 | Vulnerable | parse-community |
| cpe:2.3:a:parseplatform:parse-server:9.7.0:alpha13:*:*:*:node.js:*:* | 9.7.0 alpha13 | Vulnerable | parse-community |
| cpe:2.3:a:parseplatform:parse-server:9.7.0:alpha14:*:*:*:node.js:*:* | 9.7.0 alpha14 | Vulnerable | parse-community |
| cpe:2.3:a:parseplatform:parse-server:9.7.0:alpha15:*:*:*:node.js:*:* | 9.7.0 alpha15 | Vulnerable | parse-community |
| cpe:2.3:a:parseplatform:parse-server:9.7.0:alpha2:*:*:*:node.js:*:* | 9.7.0 alpha2 | Vulnerable | parse-community |
| cpe:2.3:a:parseplatform:parse-server:9.7.0:alpha3:*:*:*:node.js:*:* | 9.7.0 alpha3 | Vulnerable | parse-community |
- cpe:2.3:a:parseplatform:parse-server:*:*:*:*:*:node.js:*:* Versions before 8.6.70; 9.0.0 to before 9.7.0 Vulnerable ·parse-community
- cpe:2.3:a:parseplatform:parse-server:9.7.0:alpha1:*:*:*:node.js:*:* Versions 9.7.0 alpha1 Vulnerable ·parse-community
- cpe:2.3:a:parseplatform:parse-server:9.7.0:alpha10:*:*:*:node.js:*:* Versions 9.7.0 alpha10 Vulnerable ·parse-community
- cpe:2.3:a:parseplatform:parse-server:9.7.0:alpha11:*:*:*:node.js:*:* Versions 9.7.0 alpha11 Vulnerable ·parse-community
- cpe:2.3:a:parseplatform:parse-server:9.7.0:alpha12:*:*:*:node.js:*:* Versions 9.7.0 alpha12 Vulnerable ·parse-community
- cpe:2.3:a:parseplatform:parse-server:9.7.0:alpha13:*:*:*:node.js:*:* Versions 9.7.0 alpha13 Vulnerable ·parse-community
- cpe:2.3:a:parseplatform:parse-server:9.7.0:alpha14:*:*:*:node.js:*:* Versions 9.7.0 alpha14 Vulnerable ·parse-community
- cpe:2.3:a:parseplatform:parse-server:9.7.0:alpha15:*:*:*:node.js:*:* Versions 9.7.0 alpha15 Vulnerable ·parse-community
- cpe:2.3:a:parseplatform:parse-server:9.7.0:alpha2:*:*:*:node.js:*:* Versions 9.7.0 alpha2 Vulnerable ·parse-community
- cpe:2.3:a:parseplatform:parse-server:9.7.0:alpha3:*:*:*:node.js:*:* Versions 9.7.0 alpha3 Vulnerable ·parse-community
Show 6 more CPE
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:parseplatform:parse-server:9.7.0:alpha4:*:*:*:node.js:*:* | 9.7.0 alpha4 | Vulnerable | parse-community |
| cpe:2.3:a:parseplatform:parse-server:9.7.0:alpha5:*:*:*:node.js:*:* | 9.7.0 alpha5 | Vulnerable | parse-community |
| cpe:2.3:a:parseplatform:parse-server:9.7.0:alpha6:*:*:*:node.js:*:* | 9.7.0 alpha6 | Vulnerable | parse-community |
| cpe:2.3:a:parseplatform:parse-server:9.7.0:alpha7:*:*:*:node.js:*:* | 9.7.0 alpha7 | Vulnerable | parse-community |
| cpe:2.3:a:parseplatform:parse-server:9.7.0:alpha8:*:*:*:node.js:*:* | 9.7.0 alpha8 | Vulnerable | parse-community |
| cpe:2.3:a:parseplatform:parse-server:9.7.0:alpha9:*:*:*:node.js:*:* | 9.7.0 alpha9 | Vulnerable | parse-community |
- cpe:2.3:a:parseplatform:parse-server:9.7.0:alpha4:*:*:*:node.js:*:* Versions 9.7.0 alpha4 Vulnerable ·parse-community
- cpe:2.3:a:parseplatform:parse-server:9.7.0:alpha5:*:*:*:node.js:*:* Versions 9.7.0 alpha5 Vulnerable ·parse-community
- cpe:2.3:a:parseplatform:parse-server:9.7.0:alpha6:*:*:*:node.js:*:* Versions 9.7.0 alpha6 Vulnerable ·parse-community
- cpe:2.3:a:parseplatform:parse-server:9.7.0:alpha7:*:*:*:node.js:*:* Versions 9.7.0 alpha7 Vulnerable ·parse-community
- cpe:2.3:a:parseplatform:parse-server:9.7.0:alpha8:*:*:*:node.js:*:* Versions 9.7.0 alpha8 Vulnerable ·parse-community
- cpe:2.3:a:parseplatform:parse-server:9.7.0:alpha9:*:*:*:node.js:*:* Versions 9.7.0 alpha9 Vulnerable ·parse-community
Remediation
- Fix · CNA parse-server (parse-community) Fixed in 8.6.70, 9.7.0-alpha.18
- Fix · GHSA-mmg8-87c5-jrc2 parse-server (npm) Fixed in 9.7.0-alpha.16 Advisory →
- Fix · GHSA-mmg8-87c5-jrc2 parse-server (npm) Fixed in 8.6.70 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-34595
- 2026-10-03 Alias added: GHSA-mmg8-87c5-jrc2
References
Patch 5
- https://github.com/parse-community/parse-server/security/advisories/GHSA-mmg8-87c5-jrc2
- https://github.com/parse-community/parse-server/pull/10350
- https://github.com/parse-community/parse-server/pull/10351
- https://github.com/parse-community/parse-server/commit/f63fd1a3fe0a7c1c5fe809f01b0e04759e8c9b98
- https://github.com/parse-community/parse-server/commit/ffad0ec6b971ee0dd9545e1bf1fb34ddebf275c2
More parse-community Parse-server vulnerabilities
- TI-2022-08574 Command Injection in Parse server CVSS 3.1CRITICAL 10.0
- TI-2024-18136 Parse Server literalizeRegexPart SQL Injection CVSS 3.1CRITICAL 10.0
- TI-2022-18768 Parse Server vulnerable to Remote Code Execution via prototype pollution in MongoDB BSON parser CVSS 3.1CRITICAL 9.8
- TI-2024-31550 Parse Server's custom object ID allows to acquire role privileges CVSS 3.1HIGH 8.1
- TI-2023-18316 Parse Server vulnerable to remote code execution via MongoDB BSON parser through prototype pollution CVSS 3.1CRITICAL 9.8
- TI-2026-23790 Parse Server session token exfiltration via `redirectClassNameForKey` query parameter CVSS 4.0CRITICAL 9.9
Sources
- CVE-2026-34595 · CVE Program
- CVE-2026-34595 · NVD
- FIRST EPSS
- GHSA-mmg8-87c5-jrc2 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences