p PatchFirst

CVE-2026-75507

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

This page contains facts from public vulnerability sources. Check the original advisory before updating.

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.

CVSS 7.5 · High · EPSS 0.6% · Public exploit · Fix available

Published
Updated

Stack: system · python

Affected products and versions

  • graphql-core

    Versions
    • >= 3.0.0, < 3.2.12: Affected
    • >= 3.3.0a1, < 3.3.0rc1: Affected

    No fix published

  • graphql-core Debian:12

    Versions
    • 2.3.2-1
    • 3.1.7-1
    • 3.2.0-1
    • 3.2.1-1
    • 3.2.11-1
    • 3.2.12-1
    • 3.2.3-1
    • 3.2.3-2
    • 3.2.4-1
    • 3.2.5-1
    • 3.2.6-1
    • 3.2.6-2
    • 3.2.7-1
    • 3.2.8-1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • graphql-core Debian:13

    Versions
    • 3.2.11-1
    • 3.2.12-1
    • 3.2.6-1
    • 3.2.6-2
    • 3.2.7-1
    • 3.2.8-1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • graphql-core Debian:14

    Versions
    • 3.2.11-1
    • 3.2.6-1
    • 3.2.6-2
    • 3.2.7-1
    • 3.2.8-1
    Affected ranges
    • ECOSYSTEM: < 3.2.12-1

    Update to 3.2.12-1

  • graphql-core PyPI

    Versions
    • 3.0.0
    • 3.0.1
    • 3.0.2
    • 3.0.3
    • 3.0.4
    • 3.0.5
    • 3.0.6
    • 3.1.0
    • 3.1.0b0
    • 3.1.0b1
    • 3.1.0b2
    • 3.1.1
    • 3.1.2
    • 3.1.3
    • 3.1.4
    • 3.1.5
    • 3.1.6
    • 3.1.7
    • 3.2.0
    • 3.2.0rc1
    • 3.2.0rc2
    • 3.2.0rc3
    • 3.2.0rc4
    • 3.2.0rc5
    • 3.2.1
    • 3.2.10
    • 3.2.11
    • 3.2.2
    • 3.2.3
    • 3.2.4
    • 3.2.5
    • 3.2.6
    • 3.2.7
    • 3.2.8
    • 3.2.9
    Affected ranges
    • ECOSYSTEM: ≥ 3.0.0, < 3.2.12

    Update to 3.2.12

  • graphql-core PyPI

    Versions
    • 3.3.0a1
    • 3.3.0a10
    • 3.3.0a11
    • 3.3.0a12
    • 3.3.0a13
    • 3.3.0a14
    • 3.3.0a2
    • 3.3.0a3
    • 3.3.0a4
    • 3.3.0a5
    • 3.3.0a6
    • 3.3.0a7
    • 3.3.0a8
    • 3.3.0a9
    • 3.3.0b0
    • 3.3.0b1
    • 3.3.0b2
    • 3.3.0rc0
    Affected ranges
    • ECOSYSTEM: ≥ 3.3.0a1, < 3.3.0rc1

    Update to 3.3.0rc1

Original sources

Check your server →