CVE-2026-34573
Denial-of-Service via GraphQL Query Complexity in Parse Server
Publication date: 2026-03-31
Last updated on: 2026-04-02
Assigner: GitHub, Inc.
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| parseplatform | parse-server | From 9.0.0 (inc) to 9.7.0 (exc) |
| parseplatform | parse-server | 9.7.0 |
| parseplatform | parse-server | 9.7.0 |
| parseplatform | parse-server | 9.7.0 |
| parseplatform | parse-server | 9.7.0 |
| parseplatform | parse-server | 9.7.0 |
| parseplatform | parse-server | 9.7.0 |
| parseplatform | parse-server | 9.7.0 |
| parseplatform | parse-server | 9.7.0 |
| parseplatform | parse-server | 9.7.0 |
| parseplatform | parse-server | 9.7.0 |
| parseplatform | parse-server | 9.7.0 |
| parseplatform | parse-server | to 8.6.68 (exc) |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-407 | An algorithm in a product has an inefficient worst-case computational complexity that may be detrimental to system performance and can be triggered by an attacker, typically using crafted manipulations that ensure that the worst case is being reached. |
Attack-Flow Graph
AI Powered Q&A
How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:
The vulnerability described in CVE-2026-34573 is a denial-of-service (DoS) issue affecting the Parse Server's GraphQL query complexity validator. It allows an unauthenticated attacker to cause service disruption by blocking the Node.js event loop, denying service to all concurrent users.
There is no information in the provided context or resources indicating any direct impact on confidentiality, integrity, or data protection that would affect compliance with standards such as GDPR or HIPAA. The CVSS metrics explicitly state no impact on confidentiality or integrity, only on availability.
However, denial-of-service vulnerabilities can indirectly affect compliance if they cause service outages that prevent timely access to data or services required under such regulations. Since this vulnerability can cause service unavailability, organizations relying on Parse Server should consider the risk of service disruption in their compliance and risk management processes.
Can you explain this vulnerability to me?
CVE-2026-34573 is a high-severity denial-of-service (DoS) vulnerability in the GraphQL query complexity validator of the Parse Server backend. The issue arises when the validator processes crafted GraphQL queries containing binary fan-out fragment spreads, which cause exponential-time fragment traversal. This inefficient traversal leads to excessive CPU consumption and blocks the Node.js event loop for several seconds.
Specifically, the vulnerability occurs because the complexity validator recursively traverses fragments without caching results, causing an exponential increase in the number of field visits during query complexity calculation. An unauthenticated attacker can exploit this by sending a specially crafted query that triggers this exponential traversal, resulting in a denial of service for all concurrent users.
The vulnerability only affects deployments that have enabled the requestComplexity.graphQLDepth or requestComplexity.graphQLFields configuration options. It was patched in Parse Server versions 8.6.68 and 9.7.0-alpha.12 by introducing memoization to cache fragment complexity results, enforcing limits on maximum query depth and fields, and adding early termination to abort traversal once limits are exceeded.
How can this vulnerability impact me? :
This vulnerability can impact you by allowing an unauthenticated attacker to cause a denial-of-service (DoS) condition on your Parse Server deployment. By sending a specially crafted GraphQL query with binary fan-out fragment spreads, the attacker can cause the server's Node.js event loop to block for several seconds.
During this time, the server becomes unresponsive and denies service to all concurrent users, effectively causing service disruption or downtime. This can degrade the availability of your backend services and negatively affect user experience.
The impact is particularly severe because no authentication or user interaction is required to exploit the vulnerability, and it affects only deployments with certain GraphQL complexity validation options enabled.
How can this vulnerability be detected on my network or system? Can you suggest some commands?
This vulnerability can be detected by monitoring for denial-of-service symptoms caused by crafted GraphQL queries that exploit exponential fragment traversal in the Parse Server's GraphQL complexity validator. Specifically, look for unusually high CPU usage or event loop blocking triggered by unauthenticated GraphQL requests containing deeply nested or binary fan-out fragment spreads.
Since the vulnerability arises from crafted GraphQL queries, detection involves analyzing incoming GraphQL requests for complexity patterns that exceed configured limits on query depth or field counts.
There are no explicit commands provided in the resources for detection, but general approaches include:
- Monitoring server logs for GraphQL queries with unusually high complexity or repeated fragment spreads.
- Using Node.js profiling tools to detect event loop blocking or high CPU usage during GraphQL query processing.
- Implementing custom logging or middleware in Parse Server to log query complexity metrics and reject queries exceeding thresholds.
No specific command-line commands or automated detection scripts are provided in the available resources.
What immediate steps should I take to mitigate this vulnerability?
To mitigate this vulnerability immediately, you should upgrade Parse Server to a patched version where the issue is fixed. The vulnerability is resolved in versions 8.6.68 and 9.7.0-alpha.12 or later.
If upgrading immediately is not possible, a temporary workaround is to disable the GraphQL complexity limits by setting the configuration options `requestComplexity.graphQLDepth` and `requestComplexity.graphQLFields` to -1, which disables the complexity validation and prevents the exponential traversal.
The patch includes memoization of fragment complexity results, early termination of traversal when limits are exceeded, and caching to prevent exponential blowup, so upgrading ensures these protections are in place.
- Upgrade Parse Server to version 8.6.68 or 9.7.0-alpha.12 or later.
- If upgrade is not immediately feasible, set `requestComplexity.graphQLDepth` and `requestComplexity.graphQLFields` to -1 to disable complexity validation temporarily.
- Monitor GraphQL queries and server performance to detect potential exploitation attempts.