Read the docs

GraphQL-core: Denial of service via memory leak in aborted validations

Priority LOW 39CWE-400Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
Low
Impact type
Denial of service
Confidentiality · integrity · availability
None · None · High
Fix status
Partial Red Hat: 2 without a fix

Attack profile from CVSS 3.1 · CNA. Fix status from CNA, GitHub and Red Hat. Impact type from CWE-400.

Summary

GraphQL-core, a Python port of the GraphQL.js reference implementation, is affected from 3.3.0a3 before 3.3.1. When a document exceeds max_errors, validate() reuses a module-level ValidationAbortedError, and Python appends frames to its traceback on every raise, so each document, validation context and error set stays in memory for the life of the process. An unauthenticated client can repeatedly submit a small document with more than 100 validation errors, growing memory without bound before query execution until worker memory is exhausted. The flaw does not disclose or modify data; CVSS 3.1 base score 7.5 (HIGH), weaknesses CWE-400 and CWE-401.

Written with Claude Haiku 5.5 from the sources below · 2026-10-31

Description from the CNA

GraphQL-core is a Python port of the GraphQL.js reference implementation. From 3.3.0a3 until 3.3.1, validate() reuses a module-level ValidationAbortedError when a document exceeds max_errors. Python appends frames to the reused exception's traceback on every raise, retaining each document, validation context, and error set for the process lifetime. An unauthenticated client can repeatedly submit a small document with more than 100 validation errors to cause unbounded memory growth before query execution, eventually exhausting worker memory without disclosing or modifying data. This issue is fixed in version 3.3.1.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00421 36th percentileScored 2026-11-07
Fix Partial graphql-core (graphql-python): 3.3.1graphql-core (PyPI): 3.3.1Red Hat: 2 without a fix

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
Yes
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
graphql-pythongraphql-core3.3.0a3 to before 3.3.13.3.1Patch availableCNA
—graphql-core (PyPI)3.3.0a3 to before 3.3.13.3.1Patch availableGHSA-mpqx-q82w-9x46
  • graphql-core Vendorgraphql-python Affected 3.3.0a3 to before 3.3.1 Fixed in 3.3.1 Patch available CNA
  • graphql-core (PyPI) Vendor— Affected 3.3.0a3 to before 3.3.1 Fixed in 3.3.1 Patch available GHSA-mpqx-q82w-9x46

Remediation

Upgrade graphql-core to version 3.3.1, which fixes the issue. Red Hat rates the issue Important; Red Hat OpenShift AI (RHOAI) and Exploit Intelligence have no fix available yet.

Written with Claude Haiku 5.5 from the sources below · 2026-10-31

  • Fix · CNA graphql-core (graphql-python) Fixed in 3.3.1
  • Fix · GHSA-mpqx-q82w-9x46 graphql-core (PyPI) Fixed in 3.3.1 Advisory →

Vendor assessments

Red Hat

Red Hat rating: Important. Red Hat's page for this CVE →

ProductStatusPlan or fix
Exploit IntelligenceAffectedNo fix yet
Red Hat OpenShift AI (RHOAI)AffectedNo fix yet
Not affected: 1 product
  • Red Hat OpenShift AI (RHOAI)

Timeline

  1. 2026-10-29 Threatist record created from CVE-2026-119286
  2. 2026-10-30 Affected versions changed · Red Hat
  3. 2026-10-30 CVSS score added · Red Hat
  4. 2026-10-30 CISA SSVC decision points changed
  5. 2026-10-30 Priority changed: MEDIUM → LOW
  6. 2026-10-30 Affected versions changed · Red Hat
  7. 2026-10-30 Alias added: GHSA-mpqx-q82w-9x46
  8. 2026-10-30 Fix available: PyPI/[email protected] · GHSA-mpqx-q82w-9x46
  9. 2026-10-30 CVSS score added · GHSA-mpqx-q82w-9x46
  10. 2026-10-30 Weakness changed · GHSA-mpqx-q82w-9x46
  11. 2026-10-30 7 new references · GHSA-mpqx-q82w-9x46

References

  • TI-2026-79314 Comment tokens bypass max_tokens limit in graphql-core parser CVSS 3.1HIGH 7.5
  • TI-2026-79313 Denial of service in GraphQL-core OverlappingFieldsCanBeMerged rule CVSS 3.1HIGH 7.5

Sources