Cloudanix VulnDB

CVE-2026-75508

High · 7.5

CVSS

7.5

EPSS

0.6%

Published

Oct 22, 2026

CISA due date

—

Cloudanix analysis

Next patch cycle SSVC: Track

A flaw in how the system counts certain parts of incoming requests lets attackers send specially formatted messages that use up all available memory and stop the service from working.

Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
Low
Impact
Denial Of Service
Component
Library
Class
Denial of service
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

The GraphQL parser's max_tokens limit only counts non-comment tokens after Lexer.lookahead skips comments, yet each skipped comment allocates a retained Token object linked via next/prev pointers, allowing a low token budget to trigger unbounded memory allocation before AST depth or complexity checks execute.

Why it matters to the business

An unauthenticated remote attacker can crash GraphQL worker processes with a single crafted request, causing service outages and requiring restarts; the issue is only four days old with no known exploits but demands immediate attention due to its low-effort remote impact on any service exposing the vulnerable parser.

How an attack unfolds

An attacker crafts a GraphQL document containing many highly compressible comments to exceed memory while staying under the configured max_tokens value; the parser allocates and links Token objects for every comment before any later validation occurs, exhausting worker memory and denying service to legitimate clients.

How to fix it

Upgrade GraphQL-core to version 3.2.12 or 3.3.0rc1 or later; if immediate upgrade is impossible, enforce strict request size limits at the web server or proxy and monitor memory usage of GraphQL workers.

How to confirm the fix worked

Confirm the installed package version is 3.2.12 or higher, then test that a comment-padded document exceeding the prior memory threshold is now rejected at the lexer stage without excessive allocation.

Typical attack path

  1. Identify an unauthenticated GraphQL endpoint using the vulnerable parser version
  2. Generate a minimal request containing a large number of comments that compresses well
  3. Send the request to bypass the token limit and trigger repeated Token allocations
  4. Observe worker process memory growth until exhaustion and service failure

How to detect it

Inspect web server and application logs for unusually large GraphQL requests containing high comment-to-token ratios; correlate with worker process memory spikes or OOM events shortly after request receipt.

What your security team should do

  • Apply the fixed versions immediately given the four-day publication window
  • Add WAF or proxy rules limiting GraphQL request body size and comment density
  • Enable runtime memory and CPU alerts on GraphQL worker processes
  • Review downstream dependents for inherited exposure and schedule upgrades

The record

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.

Affected packages

Ecosystem Package Introduced Fixed

Related vulnerabilities