Comment tokens bypass max_tokens limit in graphql-core parser
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 GraphQL.js, is affected from 3.2.3 before 3.2.12 and from 3.3.0a3 before 3.3.0rc1. The parser's max_tokens limit does not count comment tokens, but each skipped comment is still allocated and kept in memory (CWE-400). An unauthenticated remote attacker can send a highly compressible, comment-padded document that passes the low token limit and exhausts worker memory before depth or complexity checks run.
Written with Claude Haiku 5.5 from the sources below · 2026-10-29
Description from the CNA
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- 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
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| graphql-python | graphql-core | 3.2.3 to before 3.2.12; 3.3.0a3 to before 3.3.0rc1 | 3.2.12, 3.3.0rc1 | Patch available | CNA |
| — | graphql-core (PyPI) | 3.2.3 to before 3.2.12 | 3.2.12 | Patch available | GHSA-r77w-qph3-7vf8 |
| — | graphql-core (PyPI) | 3.3.0a3 to before 3.3.0rc1 | 3.3.0rc1 | Patch available | GHSA-r77w-qph3-7vf8 |
- graphql-core Vendorgraphql-python Affected 3.2.3 to before 3.2.12; 3.3.0a3 to before 3.3.0rc1 Fixed in 3.2.12, 3.3.0rc1 Patch available CNA
- graphql-core (PyPI) Vendor— Affected 3.2.3 to before 3.2.12 Fixed in 3.2.12 Patch available GHSA-r77w-qph3-7vf8
- graphql-core (PyPI) Vendor— Affected 3.3.0a3 to before 3.3.0rc1 Fixed in 3.3.0rc1 Patch available GHSA-r77w-qph3-7vf8
Remediation
Upgrade graphql-core to 3.2.12 or 3.3.0rc1, depending on the release line in use. The sources list no fixed version for Exploit Intelligence or Red Hat OpenShift AI (RHOAI).
Written with Claude Haiku 5.5 from the sources below · 2026-10-29
- Fix · CNA graphql-core (graphql-python) Fixed in 3.2.12, 3.3.0rc1
- Fix · GHSA-r77w-qph3-7vf8 graphql-core (PyPI) Fixed in 3.2.12 Advisory →
- Fix · GHSA-r77w-qph3-7vf8 graphql-core (PyPI) Fixed in 3.3.0rc1 Advisory →
Vendor assessments
Red Hat
Red Hat rating: Important. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Exploit Intelligence | Affected | No fix yet |
| Red Hat OpenShift AI (RHOAI) | Affected | No fix yet |
Timeline
- 2026-10-22 Threatist record created from CVE-2026-75508
- 2026-10-22 Alias added: GHSA-r77w-qph3-7vf8
- 2026-10-22 Fix available: PyPI/[email protected], PyPI/[email protected] · GHSA-r77w-qph3-7vf8
- 2026-10-22 CVSS score added · GHSA-r77w-qph3-7vf8
- 2026-10-22 Weakness changed · GHSA-r77w-qph3-7vf8
- 2026-10-22 6 new references · GHSA-r77w-qph3-7vf8
- 2026-10-23 Affected versions changed · Red Hat
- 2026-10-23 CVSS score added · Red Hat
- 2026-10-23 Priority changed: MEDIUM → LOW
- 2026-10-29 CISA SSVC decision points changed
- 2026-10-29 Priority changed: LOW → HIGH
References
Other 6
- https://github.com/graphql-python/graphql-core/security/advisories/GHSA-r77w-qph3-7vf8
- https://github.com/graphql-python/graphql-core/commit/437dea102e92fdf05a2971ca76787c5a5bad875a
- https://github.com/graphql-python/graphql-core/commit/80ef435a1808fbbcc4aaac63ae76771a1c91002d
- https://github.com/graphql-python/graphql-core/releases/tag/v3.2.12
- https://github.com/graphql-python/graphql-core/releases/tag/v3.3.0rc1
- https://github.com/graphql-python/graphql-core
More graphql-python vulnerabilities
- TI-2026-79313 Denial of service in GraphQL-core OverlappingFieldsCanBeMerged rule CVSS 3.1HIGH 7.5
- TI-2026-82783 GraphQL-core: Denial of service via memory leak in aborted validations CVSS 3.1HIGH 7.5
Sources
- CVE-2026-75508 · CVE Program
- CVE-2026-75508 · NVD
- FIRST EPSS
- GHSA-r77w-qph3-7vf8 · GitHub Advisory Database · CC BY 4.0
- CVE-2026-75508 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences