GHSA-cgxm-vr2f-6fj8: parse-server Denial of Service Vulnerability
HIGHGHSA-cgxm-vr2f-6fj8 is a HIGH denial of service vulnerability (CWE-407: Inefficient Algorithmic Complexity) affecting parse-server libraries in the npm ecosystem. The issue involves denial of service via exponential-time processing of deeply nested query operators. Remediation is available by upgrading affected packages to version 9.9.1-alpha.12, 8.6.82.
GHSA-cgxm-vr2f-6fj8 at a Glance
How to Fix GHSA-cgxm-vr2f-6fj8
To remediate this vulnerability, upgrade all affected parse-server dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.
npm install parse-server@9.9.1-alpha.12
npm install parse-server@8.6.82
Run the following command in your project directory to verify that all resolved dependencies use the patched release:
npm ls parse-server
How to Check if You Are Affected
To determine whether your Node.js application is affected by GHSA-cgxm-vr2f-6fj8, inspect your project dependencies using npm:
npm ls parse-server
Analyze the terminal output to locate any version of parse-server in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 9.9.1-alpha.12), your application is affected.
Note: The npm ls parse-server command inspects dependencies declared in your package.json and lockfile; it does not perform automated runtime dynamic scanning.
Technical Details
Vulnerability Mechanism & Technical Analysis
This vulnerability is classified under CWE-407: Inefficient Algorithmic Complexity, where 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. In parse-server, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.
Source Advisory Statement
GHSA-cgxm-vr2f-6fj8 Affected parse-server Versions
2 component(s)| Product / Package | Ecosystem | Affected Versions | Fixed Version |
|---|---|---|---|
|
parse-server
|
npm |
≥ 9.0.0
< 9.9.1-alpha.12
|
9.9.1-alpha.12
|
|
parse-server
|
npm |
< 8.6.82
|
8.6.82
|
References
Frequently Asked Questions
What is GHSA-cgxm-vr2f-6fj8?
Which parse-server versions are affected?
What version fixes GHSA-cgxm-vr2f-6fj8?
Is parse-server affected?
What CWE is associated with GHSA-cgxm-vr2f-6fj8?
How can I check npm dependencies for GHSA-cgxm-vr2f-6fj8?
Machine-readable OSV JSON
OSV v1.5 Schema
{
"schema_version" : "1.4.0",
"id" : "GHSA-cgxm-vr2f-6fj8",
"modified" : "2026-06-19T14:50:14Z",
"published" : "2026-06-19T14:50:14Z",
"aliases" : [ ],
"summary" : "parse-server: Denial of service via exponential-time processing of deeply nested query operators",
"details" : "### Impact\n\nParse Server is vulnerable to denial of service. A remote attacker can send a single, small query (~1 KB) containing deeply nested query condition operators. Parse Server processes the nested structure with exponential time complexity, which blocks the Node.js event loop and makes the server unresponsive to all clients for the duration of processing. A single request can occupy the event loop for many seconds, and the request is repeatable. The issue affects the REST API and LiveQuery query handling and is reachable in the default configuration. Exploitation requires only the public application identifier; no user authentication is needed.\n\n### Patches\n\nThe internal query-traversal helper that previously re-walked nested arrays — causing exponential-time processing of nested `$or`/`$and`/`$nor` operators — was corrected to traverse queries in linear time. Additionally, the optional `requestComplexity.queryDepth` limit was generalized so that nested logical operators are counted even when wrapped inside field-level operators (e.g. `$elemMatch`, `$not`) or plain field names, closing a bypass of the limit on both the REST API and LiveQuery.\n\n### Workarounds\n\nThere is no complete configuration-only workaround on affected versions. Setting `requestComplexity.queryDepth` to a small positive integer reduces exposure but does not fully prevent the issue, because the limit can be bypassed by nesting the operators inside a field-level operator. Upgrading is strongly recommended.",
"severity" : [ {
"type" : "CVSS_V4",
"score" : "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N"
} ],
"affected" : [ {
"package" : {
"ecosystem" : "npm",
"name" : "parse-server"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "9.0.0"
}, {
"fixed" : "9.9.1-alpha.12"
} ]
} ]
}, {
"package" : {
"ecosystem" : "npm",
"name" : "parse-server"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "0"
}, {
"fixed" : "8.6.82"
} ]
} ]
} ],
"references" : [ {
"type" : "WEB",
"url" : "https://github.com/parse-community/parse-server/security/advisories/GHSA-cgxm-vr2f-6fj8"
}, {
"type" : "WEB",
"url" : "https://github.com/parse-community/parse-server/pull/10511"
}, {
"type" : "WEB",
"url" : "https://github.com/parse-community/parse-server/pull/10512"
}, {
"type" : "PACKAGE",
"url" : "https://github.com/parse-community/parse-server"
} ],
"database_specific" : {
"cwe_ids" : [ "CWE-407" ],
"severity" : "HIGH",
"github_reviewed" : true,
"github_reviewed_at" : "2026-06-19T14:50:14Z",
"nvd_published_at" : null
}
}