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.
Published: 2026-10-22
Score: 7.5 High
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service
Action: Immediate Patch
AI Analysis

Impact

GraphQL-core suffers from a validation rule called OverlappingFieldsCanBeMerged that, when processing nested inline fragments, performs repeated comparisons of fields sharing response names. This leads to quadratic or worst‑case O(n²·m²) CPU usage before any resolver or depth/complexity control runs, allowing an unauthenticated remote actor to lock a worker process with a short, highly compressible query and throttle the entire service. The flaw is a classic denial of service conditioned on client input, reflected in CWE-400, CWE-407, and CWE-770.

Affected Systems

The affected product is GraphQL-core, the Python implementation of GraphQL.js. Versions from 3.0.0 through 3.2.11, and any pre‑release that predates the 3.2.12 fix, are vulnerable. This issue is fixed in versions 3.2.12 and 3.3.0rc1.

Risk and Exploitability

The CVSS score of 7.5 categorizes this as high severity. While the EPSS score is not available, the lack of authentication and the trivial nature of the exploit—submitting a small query—mean that the likelihood of exploitation is substantive for exposed services. The vulnerability is not listed in the CISA KEV catalog, yet any application that accepts GraphQL queries without additional safeguards is at risk of service interruption. The attack vector is remote, over the network, and does not require privileged access.

Generated by OpenCVE AI on October 23, 2026 at 03:52 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade GraphQL-core to version 3.2.12 or newer to eliminate the quadratic complexity bug.
  • Configure application‑level input validation to restrict GraphQL query complexity, such as depth limits or complexity scoring.
  • Enforce rate limiting or request throttling on the GraphQL endpoint to protect worker processes from being saturated by malformed queries.

Generated by OpenCVE AI on October 23, 2026 at 03:52 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-vj8h-fx38-h3vc GraphQL-core: Denial of service via quadratic complexity in the OverlappingFieldsCanBeMerged validation rule
History

Fri, 23 Oct 2026 22:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Fri, 23 Oct 2026 00:45:00 +0000

Type Values Removed Values Added
First Time appeared Graphql-python
Graphql-python graphql-core
Weaknesses CWE-770
Vendors & Products Graphql-python
Graphql-python graphql-core
References
Metrics threat_severity

None

threat_severity

Important


Thu, 22 Oct 2026 16:30:00 +0000

Type Values Removed Values Added
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.
Title GraphQL-core: Denial of service via quadratic complexity in the OverlappingFieldsCanBeMerged validation rule
Weaknesses CWE-400
CWE-407
References
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'}


Subscriptions

Graphql-python Graphql-core
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-23T21:08:40.217Z

Reserved: 2026-08-17T20:49:21.598Z

Link: CVE-2026-75507

cve-icon Vulnrichment

Updated: 2026-10-23T17:32:55.453Z

cve-icon NVD

Status : Deferred

Published: 2026-10-22T17:16:59.757

Modified: 2026-10-23T22:17:00.110

Link: CVE-2026-75507

cve-icon Redhat

Severity : Important

Publid Date: 2026-10-22T16:12:38Z

Links: CVE-2026-75507 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-23T04:00:12Z

Weaknesses
  • CWE-400

    Uncontrolled Resource Consumption

  • CWE-407

    Inefficient Algorithmic Complexity

  • CWE-770

    Allocation of Resources Without Limits or Throttling