{"api_version":"1","generated_at":"2026-10-31T05:57:06+00:00","cve":"CVE-2026-119286","urls":{"html":"https://cve.report/CVE-2026-119286","api":"https://cve.report/api/cve/CVE-2026-119286.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-119286","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-119286"},"summary":{"title":"GraphQL-core: Denial of service via memory leak in aborted validations","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.","state":"PUBLISHED","assigner":"GitHub_M","published_at":"2026-10-29 22:17:01","updated_at":"2026-10-30 19:37:07"},"problem_types":["CWE-400","CWE-401","CWE-400 CWE-400: Uncontrolled Resource Consumption","CWE-401 CWE-401: Missing Release of Memory after Effective Lifetime"],"metrics":[{"version":"3.1","source":"security-advisories@github.com","type":"Secondary","score":"7.5","severity":"HIGH","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","data":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","baseScore":7.5,"baseSeverity":"HIGH","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"NONE","integrityImpact":"NONE","availabilityImpact":"HIGH"}},{"version":"3.1","source":"CNA","type":"DECLARED","score":"7.5","severity":"HIGH","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","data":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"HIGH","baseScore":7.5,"baseSeverity":"HIGH","confidentialityImpact":"NONE","integrityImpact":"NONE","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","version":"3.1"}}],"references":[{"url":"https://github.com/graphql-python/graphql-core/pull/288","name":"https://github.com/graphql-python/graphql-core/pull/288","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/graphql-python/graphql-core/releases/tag/v3.3.1","name":"https://github.com/graphql-python/graphql-core/releases/tag/v3.3.1","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/graphql-python/graphql-core/issues/287","name":"https://github.com/graphql-python/graphql-core/issues/287","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/graphql-python/graphql-core/security/advisories/GHSA-mpqx-q82w-9x46","name":"https://github.com/graphql-python/graphql-core/security/advisories/GHSA-mpqx-q82w-9x46","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/graphql-python/graphql-core/commit/3c319fd9f4b8f6c9db4189520561bf8dd0e70be9","name":"https://github.com/graphql-python/graphql-core/commit/3c319fd9f4b8f6c9db4189520561bf8dd0e70be9","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-119286","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-119286","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"graphql-python","product":"graphql-core","version":"affected >= 3.3.0a3, < 3.3.1","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":{"cve_year":"2026","cve_id":"119286","cve":"CVE-2026-119286","epss":"0.004210000","percentile":"0.364650000","score_date":"2026-10-30","updated_at":"2026-10-31 00:01:12"},"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"adp":[{"metrics":[{"other":{"content":{"id":"CVE-2026-119286","options":[{"Exploitation":"none"},{"Automatable":"yes"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","timestamp":"2026-10-30T15:47:35.331193Z","version":"2.0.3"},"type":"ssvc"}}],"providerMetadata":{"dateUpdated":"2026-10-30T15:58:44.342Z","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP"},"title":"CISA ADP Vulnrichment"}],"cna":{"affected":[{"product":"graphql-core","vendor":"graphql-python","versions":[{"status":"affected","version":">= 3.3.0a3, < 3.3.1"}]}],"descriptions":[{"lang":"en","value":"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":[{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"HIGH","baseScore":7.5,"baseSeverity":"HIGH","confidentialityImpact":"NONE","integrityImpact":"NONE","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","version":"3.1"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-400","description":"CWE-400: Uncontrolled Resource Consumption","lang":"en","type":"CWE"}]},{"descriptions":[{"cweId":"CWE-401","description":"CWE-401: Missing Release of Memory after Effective Lifetime","lang":"en","type":"CWE"}]}],"providerMetadata":{"dateUpdated":"2026-10-29T21:38:43.633Z","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","shortName":"GitHub_M"},"references":[{"name":"https://github.com/graphql-python/graphql-core/security/advisories/GHSA-mpqx-q82w-9x46","tags":["x_refsource_CONFIRM"],"url":"https://github.com/graphql-python/graphql-core/security/advisories/GHSA-mpqx-q82w-9x46"},{"name":"https://github.com/graphql-python/graphql-core/issues/287","tags":["x_refsource_MISC"],"url":"https://github.com/graphql-python/graphql-core/issues/287"},{"name":"https://github.com/graphql-python/graphql-core/pull/288","tags":["x_refsource_MISC"],"url":"https://github.com/graphql-python/graphql-core/pull/288"},{"name":"https://github.com/graphql-python/graphql-core/commit/3c319fd9f4b8f6c9db4189520561bf8dd0e70be9","tags":["x_refsource_MISC"],"url":"https://github.com/graphql-python/graphql-core/commit/3c319fd9f4b8f6c9db4189520561bf8dd0e70be9"},{"name":"https://github.com/graphql-python/graphql-core/releases/tag/v3.3.1","tags":["x_refsource_MISC"],"url":"https://github.com/graphql-python/graphql-core/releases/tag/v3.3.1"}],"source":{"advisory":"GHSA-mpqx-q82w-9x46","discovery":"UNKNOWN"},"title":"GraphQL-core: Denial of service via memory leak in aborted validations"}},"cveMetadata":{"assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","assignerShortName":"GitHub_M","cveId":"CVE-2026-119286","datePublished":"2026-10-29T21:38:43.633Z","dateReserved":"2026-10-29T18:50:28.065Z","dateUpdated":"2026-10-30T15:58:44.342Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-10-29 22:17:01","lastModifiedDate":"2026-10-30 19:37:07","problem_types":["CWE-400","CWE-401","CWE-400 CWE-400: Uncontrolled Resource Consumption","CWE-401 CWE-401: Missing Release of Memory after Effective Lifetime"],"metrics":{"cvssMetricV31":[{"source":"security-advisories@github.com","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","baseScore":7.5,"baseSeverity":"HIGH","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"NONE","integrityImpact":"NONE","availabilityImpact":"HIGH"},"exploitabilityScore":3.9,"impactScore":3.6}],"ssvcV203":[{"source":"134c704f-9b21-4f2e-91b3-4a467353bcc0","ssvcData":{"timestamp":"2026-10-30T15:47:35.331193Z","id":"CVE-2026-119286","options":[{"exploitation":"none"},{"automatable":"yes"},{"technicalImpact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}]},"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"119286","Ordinal":"1","Title":"GraphQL-core: Denial of service via memory leak in aborted valid","CVE":"CVE-2026-119286","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"119286","Ordinal":"1","NoteData":"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.","Type":"Description","Title":"GraphQL-core: Denial of service via memory leak in aborted valid"}]}}}