CVE-2026-75508
High · 7.5CVSS
7.5
EPSS
0.6%
Published
Oct 22, 2026
CISA due date
—
Cloudanix analysis
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
- Identify an unauthenticated GraphQL endpoint using the vulnerable parser version
- Generate a minimal request containing a large number of comments that compresses well
- Send the request to bypass the token limit and trigger repeated Token allocations
- 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
- CVE-2026-63341 Aedes is an MQTT broker that can run on any stream server. CWE-400
- CVE-2026-62300 Filecoin Pin is an IPFS Pinning Service API implementation that pins to Filecoin's PDP… CWE-400
- CVE-2026-62254 LibreDWG is a free C library to read and write DWG files. CWE-400
- CVE-2026-62250 LibreDWG is a free C library to read and write DWG files. CWE-400
- CVE-2026-62303 Pistache is a high-performance REST toolkit written in C++. CWE-400
- CVE-2026-62160 Daptin is a GraphQL/JSON-API headless CMS. CWE-400
- CVE-2026-61848 Crass is a Ruby CSS parser that's fully compliant with the CSS Syntax Level 3… CWE-400
- CVE-2026-61854 VoiceSentinel is a real-time voice moderation system for Minecraft servers. CWE-400