Description
GraphQL-core is a Python port of the GraphQL.js reference implementation. From 3.2.3 until 3.2.12 and 3.3.0rc1, the parser's max_tokens limit in Parser.advance_lexer counts only non-comment tokens returned after Lexer.lookahead skips comments. Each skipped comment is still allocated as a Token and retained through token.next and token.prev, allowing a highly compressible comment-padded GraphQL document to pass a low token limit while consuming memory. An unauthenticated remote attacker can exhaust worker memory before AST-based depth or complexity controls run. 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: Apply Patch
AI Analysis

Impact

GraphQL-core processes GraphQL queries from unauthenticated clients. The parser ignores comment tokens when enforcing the configured maximum token count, yet still allocates memory for each comment token. By inserting a heavily comment‑padded document that stays under the visible token threshold, an attacker can cause the parser to consume large amounts of memory before the downstream depth or complexity checks limit the request. The result is a denial of service through worker memory exhaustion. The weakness is identified by CWE‑400 (Unrestricted Input) and CWE‑770 (Memory Allocation).

Affected Systems

The Python library graphql-core, versions 3.2.3 through 3.2.11 and any 3.3.0rc release prior to 3.3.0rc1, is affected. Versions 3.2.12 and 3.3.0rc1 and later contain the fix.

Risk and Exploitability

The CVSS score of 7.5 classifies this as a high severity vulnerability. No EPSS score is available, but the lack of authentication and the ability to send arbitrary GraphQL text make exploitation straightforward for any service that accepts GraphQL queries. The vulnerability is not listed in CISA KEV, yet it can be abused by remote attackers to exhaust available memory and disrupt service availability.

Generated by OpenCVE AI on October 22, 2026 at 17:35 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade to graphql-core v3.2.12 or later, or v3.3.0rc1 and later, which include the parser fix.
  • If an immediate upgrade is not possible, restrict the size of incoming GraphQL documents or strip comment tokens before parsing to prevent the excessive memory allocation.
  • Monitor worker memory usage and enforce limits on query processing to mitigate denial of service attempts while the vulnerability is pending a patch.

Generated by OpenCVE AI on October 22, 2026 at 17:35 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-r77w-qph3-7vf8 GraphQL-core: Denial of service via comment tokens bypassing the parser's max_tokens limit
History

Thu, 29 Oct 2026 12:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', '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
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.2.3 until 3.2.12 and 3.3.0rc1, the parser's max_tokens limit in Parser.advance_lexer counts only non-comment tokens returned after Lexer.lookahead skips comments. Each skipped comment is still allocated as a Token and retained through token.next and token.prev, allowing a highly compressible comment-padded GraphQL document to pass a low token limit while consuming memory. An unauthenticated remote attacker can exhaust worker memory before AST-based depth or complexity controls run. This issue is fixed in versions 3.2.12 and 3.3.0rc1.
Title GraphQL-core: Denial of service via comment tokens bypassing the parser's max_tokens limit
Weaknesses CWE-400
CWE-770
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-29T11:47:15.190Z

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

Link: CVE-2026-75508

cve-icon Vulnrichment

Updated: 2026-10-29T11:47:00.802Z

cve-icon NVD

Status : Deferred

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

Modified: 2026-10-29T12:17:13.617

Link: CVE-2026-75508

cve-icon Redhat

Severity : Important

Publid Date: 2026-10-22T16:10:17Z

Links: CVE-2026-75508 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-22T21:19:12Z

Weaknesses
  • CWE-400

    Uncontrolled Resource Consumption

  • CWE-770

    Allocation of Resources Without Limits or Throttling