GHSA-cmj3-wx7h-ffvg

Suggest an improvement
Source
https://github.com/advisories/GHSA-cmj3-wx7h-ffvg
Import Source
https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/03/GHSA-cmj3-wx7h-ffvg/GHSA-cmj3-wx7h-ffvg.json
JSON Data
https://api.osv.dev/v1/vulns/GHSA-cmj3-wx7h-ffvg
Aliases
Published
2026-03-11T00:16:48Z
Modified
2026-03-16T20:46:27.523939Z
Severity
  • 8.7 (High) CVSS_V4 - 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 CVSS Calculator
Summary
Parse Server affected by denial-of-service via unbounded query complexity in REST and GraphQL API
Details

Impact

An unauthenticated attacker can exhaust Parse Server resources (CPU, memory, database connections) through crafted queries that exploit the lack of complexity limits in the REST and GraphQL APIs.

All Parse Server deployments using the REST or GraphQL API are affected.

Patches

The vulnerability is fixed by introducing configurable request complexity limits via the requestComplexity server option with the following keys:

  • subqueryDepth: Maximum nesting depth for $inQuery, $notInQuery, $select, $dontSelect
  • includeDepth: Maximum depth of dot-separated include paths
  • includeCount: Maximum number of include fields per query
  • graphQLDepth: Maximum depth of GraphQL field selections
  • graphQLFields: Maximum number of field selections in a GraphQL query

Requests using master key or maintenance key bypass these limits. Set any property to -1 to disable that specific limit.

In versions 8.6.15 and 9.5.2-alpha.2, these limits were enabled by default. This unintentionally introduced a breaking change for some applications with legitimate complex queries. In versions 8.6.46 and 9.6.0-alpha.22, the defaults were changed to -1 (disabled) to restore backwards compatibility.

The limits remain available as configuration options. To mitigate the vulnerability, upgrade to a patched version and set each requestComplexity property to a value appropriate for your application.

Workarounds

There is no known workaround.

References

  • GitHub security advisory: https://github.com/parse-community/parse-server/security/advisories/GHSA-cmj3-wx7h-ffvg
  • Fix Parse Server 9: https://github.com/parse-community/parse-server/releases/tag/9.5.2-alpha.2
  • Fix Parse Server 8: https://github.com/parse-community/parse-server/releases/tag/8.6.15
Database specific
{
    "github_reviewed": true,
    "github_reviewed_at": "2026-03-11T00:16:48Z",
    "cwe_ids": [
        "CWE-770"
    ],
    "severity": "HIGH",
    "nvd_published_at": "2026-03-10T21:16:47Z"
}
References

Affected packages

npm / parse-server

Package

Affected ranges

Type
SEMVER
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
8.6.15

Database specific

source
"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/03/GHSA-cmj3-wx7h-ffvg/GHSA-cmj3-wx7h-ffvg.json"

npm / parse-server

Package

Affected ranges

Type
SEMVER
Events
Introduced
9.0.0
Fixed
9.5.2-alpha.2

Database specific

source
"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/03/GHSA-cmj3-wx7h-ffvg/GHSA-cmj3-wx7h-ffvg.json"