CVE-2026-119286: GraphQL-core has denial of service via memory leak in aborted validations
When a validation was aborted because the document contained more errors than allowed by max_errors (100 by default), validate() raised a single module-level ValidationAbortedError instance. Python appends the frames of every raise to the existing __traceback__ of an exception that is raised again, so every aborted validation extended the traceback of this shared error. That traceback kept the frames, and with them the document, the validation context and all errors of every aborted validation, alive for the lifetime of the process.
References
- github.com/advisories/GHSA-mpqx-q82w-9x46
- github.com/graphql-python/graphql-core/commit/3c319fd9f4b8f6c9db4189520561bf8dd0e70be9
- github.com/graphql-python/graphql-core/issues/287
- github.com/graphql-python/graphql-core/pull/288
- github.com/graphql-python/graphql-core/releases/tag/v3.3.1
- github.com/graphql-python/graphql-core/security/advisories/GHSA-mpqx-q82w-9x46
- nvd.nist.gov/vuln/detail/CVE-2026-119286
Code Behaviors & Features
Detect and mitigate CVE-2026-119286 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →