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.
Metrics
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:HWeakness enumeration
Affected software
Source: the vendor's advisory (CNA). NVD analysis pending.
| Vendor | Product | Versions |
|---|---|---|
| graphql-python | graphql-core | >= 3.3.0a3, < 3.3.1 |
References
- https://github.com/graphql-python/graphql-core/commit/3c319fd9f4b8f6c9db4189520561bf8dd0e70be9
- 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/releases/tag/v3.3.1
- https://github.com/graphql-python/graphql-core/security/advisories/GHSA-mpqx-q82w-9x46
Timeline
- Published
- Oct 29, 2026
- Last modified
- Oct 30, 2026
- NVD status
- Awaiting Analysis