[ CVE-2026-75507 · Published 22 Oct 2026 ]

GraphQL-core: Denial of service via quadratic complexity in the OverlappingFieldsCanBeMerged validation rule

CVSS 7.5 Fix available

[ Description ]Official description

GraphQL-core is a Python port of the GraphQL.js reference implementation. From 3.0.0 until 3.2.12 and 3.3.0rc1, the OverlappingFieldsCanBeMerged rule in specified_rules repeatedly compares fields that share response names and recursively re-compares flattened inline fragments during the validation phase. The prior named-fragment memoization does not cover this path, so nested repeated inline fragments can drive quadratic and worst-case O(n²·m²) CPU work before any resolver or AST-based depth or complexity control runs. An unauthenticated remote attacker can submit a shallow, highly compressible GraphQL query that pins a worker process and can saturate a multi-worker service. This issue is fixed in versions 3.2.12 and 3.3.0rc1.

[ Fixes ]Fixes and patches

  • graphql-core 3.2.12Fixed version · GitHub Advisories · pip package graphql-core: upgrade to 3.2.12 or later (affected >= 3.0.0, < 3.2.12)
  • graphql-core 3.3.0rc1Fixed version · GitHub Advisories · pip package graphql-core: upgrade to 3.3.0rc1 or later (affected >= 3.3.0a1, < 3.3.0rc1)

[ Packages ]Affected open-source packages