IT SBIT Services
Schneeberger
DEEN
CVE tracker

graphql-core: Denial of service in OverlappingFieldsCanBeMerged validation

CVE-2026-75507High 7.5

← All vulnerabilities

Summary

graphql-core, a Python port of the GraphQL.js reference implementation, contains a flaw in the OverlappingFieldsCanBeMerged validation rule. Crafted, highly compressible GraphQL queries can drive validation into quadratic or worse CPU work before any resolver or depth or complexity control runs. An unauthenticated remote attacker can send a small query that pins a worker process and can saturate a multi-worker service. The rule is enabled by default, so GraphQL endpoints built on affected versions are exposed.

Affected

  • graphql-core 3.0.0 up to but not including 3.2.12
  • graphql-core 3.3.0a1 up to but not including 3.3.0rc1

Fixed in

  • graphql-core 3.2.12
  • graphql-core 3.3.0rc1
  • For the 3.3 line, the research notes recommend 3.3.1 or later; this release was not verified directly.

Workaround

Unknown. No upstream workaround was found. Limiting request body size and rate-limiting the GraphQL endpoint at a reverse proxy, and restarting hung workers, reduce the impact but do not fix the validation cost.

Exploitation

  • CISA SSVC: exploitation none, automatable yes, technical impact partial.
  • No known exploitation in the wild was found.
  • No public proof of concept was found; this is not a guarantee that none exists.

Our recommendation

  • Identify all Python environments with graphql-core, including lockfiles and container images, since it is often a transitive dependency.
  • Upgrade to 3.2.12 at minimum, or to 3.3.1 or later for the 3.3 line.
  • Prioritise internet-facing GraphQL endpoints that do not require authentication.
  • Check distribution packages for fixed builds, as their status is unconfirmed; do not assume they are patched.

Public exploits

PoC-in-GitHub, Metasploit and Exploit-DB list nothing for this CVE.

Research sources

Researched and written up in English and German by an AI (Claude by Anthropic) based on NVD, CISA, EPSS and the sources listed. The vendor information is authoritative. Researched on 2 Nov 2026, 12:45.

Original description (NVD)

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.

NVD references (5)

Sources

The tracker combines official, freely usable data sources – updated continuously:

This product uses data from the NVD API but is not endorsed or certified by the NVD. EPSS data © FIRST.org.

Affected? We can help.

We check whether your systems are affected, install updates and close the gap – continuously with the System Health Checker if you wish.