[ CVE-2026-75508 · Published 22 Oct 2026 ]
GraphQL-core: Denial of service via comment tokens bypassing the parser's max_tokens limit
CVSS 7.5
Fix available
[ Description ]Official 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.
[ Fixes ]Fixes and patches
- graphql-core 3.2.12Fixed version · GitHub Advisories · pip package graphql-core: upgrade to 3.2.12 or later (affected >= 3.2.3, < 3.2.12)
- graphql-core 3.3.0rc1Fixed version · GitHub Advisories · pip package graphql-core: upgrade to 3.3.0rc1 or later (affected >= 3.3.0a3, < 3.3.0rc1)
[ Packages ]Affected open-source packages
- graphql-core pipAffected >= 3.2.3, < 3.2.12 · fixed in 3.2.12 · GHSA-r77w-qph3-7vf8
- graphql-core pipAffected >= 3.3.0a3, < 3.3.0rc1 · fixed in 3.3.0rc1 · GHSA-r77w-qph3-7vf8
[ References ]References
- github.com/graphql-python/graphql-core/commit/437dea102e92fdf05a2971ca76787c5a5bad875a
- github.com/graphql-python/graphql-core/commit/80ef435a1808fbbcc4aaac63ae76771a1c91002d
- github.com/graphql-python/graphql-core/releases/tag/v3.2.12
- github.com/graphql-python/graphql-core/releases/tag/v3.3.0rc1
- github.com/graphql-python/graphql-core/security/advisories/GHSA-r77w-qph3-7vf8