CVE-2026-40324: ChilliCream GraphQL Platform Utf8GraphQLParser Stack Overflow Vulnerability
CRITICALCVE-2026-40324 is a CRITICAL (CVSS 9.1) utf8graphqlparser stack overflow vulnerability (CWE-674: Uncontrolled Recursion) affecting ChilliCream GraphQL Platform libraries in the NuGet ecosystem. The issue involves utf8graphqlparser stack overflow via deeply nested graphql documents. Remediation is available by upgrading affected packages to version 12.22.7, 13.9.16, 14.3.1, 15.1.14.
CVE-2026-40324 at a Glance
Security Impact
CVSS: 9.1
The security impact metrics below are parsed directly from the CVSS v3.1 vector string (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H).
How to Fix CVE-2026-40324
To remediate this vulnerability, upgrade all affected ChilliCream GraphQL Platform dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.
Upgrade HotChocolate.Language to 12.22.7
Upgrade HotChocolate.Language to 13.9.16
Upgrade HotChocolate.Language to 14.3.1
Upgrade HotChocolate.Language to 15.1.14
Run the following command in your project directory to verify that all resolved dependencies use the patched release:
inspect dependencies for HotChocolate.Language
How to Check if You Are Affected
To determine whether your application is affected by CVE-2026-40324, inspect your project dependencies for ChilliCream GraphQL Platform:
inspect dependencies for HotChocolate.Language
Analyze the terminal output to locate any version of ChilliCream GraphQL Platform in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 12.22.7), your application is affected.
Note: Verify declared build manifests and deployed runtime container environments.
Technical Details
Vulnerability Mechanism & Technical Analysis
This vulnerability is classified under CWE-674: Uncontrolled Recursion, where the product does not properly control the amount of recursion that takes place, consuming excessive resources, such as allocated memory or the program stack. In ChilliCream GraphQL Platform, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.
Source Advisory Statement
CVE-2026-40324 Affected ChilliCream GraphQL Platform Versions
4 component(s)| Product / Package | Ecosystem | Affected Versions | Fixed Version |
|---|---|---|---|
|
HotChocolate.Language
|
NuGet |
< 12.22.7
|
12.22.7
|
|
HotChocolate.Language
|
NuGet |
≥ 13.0.0
< 13.9.16
|
13.9.16
|
|
HotChocolate.Language
|
NuGet |
≥ 14.0.0
< 14.3.1
|
14.3.1
|
|
HotChocolate.Language
|
NuGet |
≥ 15.0.0
< 15.1.14
|
15.1.14
|
References
Frequently Asked Questions
What is CVE-2026-40324?
Which ChilliCream GraphQL Platform versions are affected?
What version fixes CVE-2026-40324?
Is HotChocolate.Language affected?
What is the CVSS score of CVE-2026-40324?
What CWE is associated with CVE-2026-40324?
How can I check NuGet dependencies for CVE-2026-40324?
Machine-readable OSV JSON
OSV v1.5 Schema
{
"schema_version" : "1.4.0",
"id" : "GHSA-qr3m-xw4c-jqw3",
"modified" : "2026-04-24T20:51:04Z",
"published" : "2026-04-16T21:09:40Z",
"aliases" : [ "CVE-2026-40324" ],
"summary" : "ChilliCream GraphQL Platform: Utf8GraphQLParser Stack Overflow via Deeply Nested GraphQL Documents",
"details" : "### Impact\n\nHot Chocolate's `Utf8GraphQLParser` is a recursive descent parser with no recursion depth limit. A crafted GraphQL document with deeply nested selection sets, object values, list values, or list types can trigger a `StackOverflowException` on payloads as small as **40 KB**.\n\nBecause `StackOverflowException` is **uncatchable in .NET** (since .NET 2.0), the entire worker process is terminated immediately. All in-flight HTTP requests, background `IHostedService` tasks, and open WebSocket subscriptions on that worker are dropped. The orchestrator (Kubernetes, IIS, etc.) must restart the process.\n\nThis occurs **before any validation rules run** — `MaxExecutionDepth`, complexity analyzers, persisted query allow-lists, and custom `IDocumentValidatorRule` implementations cannot intercept the crash because `Utf8GraphQLParser.Parse` is invoked before validation. The existing `MaxAllowedFields=2048` limit does not help because the crashing payloads contain very few fields.\n\n**Severity:** Critical (9.1) — `CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H`\n\n### Patches\n\n- **v12 line:** Fixed in `12.22.7`\n- **v13 line:** Fixed in `13.9.16`\n- **v14 line:** Fixed in `14.3.1`\n- **v15 line:** Fixed in `15.1.14`\n\nThe fix adds a `MaxAllowedRecursionDepth` option to `ParserOptions` with a safe default, and enforces it across all recursive parser methods (`ParseSelectionSet`, `ParseValueLiteral`, `ParseObject`, `ParseList`, `ParseTypeReference`, etc.). When the limit is exceeded, a catchable `SyntaxException` is thrown instead of overflowing the stack.\n\n### Workarounds\n\nThere is no application-level workaround. `StackOverflowException` cannot be caught in .NET. The only mitigation is to upgrade to a patched version.\n\nOperators can reduce (but not eliminate) risk by limiting HTTP request body size at the reverse proxy or load balancer layer, though the smallest crashing payload (40 KB) is well below most default body size limits and is highly compressible (~few hundred bytes via gzip).\n\n### References\n\n- Fix for v15: https://github.com/ChilliCream/graphql-platform/pull/9528",
"severity" : [ {
"type" : "CVSS_V3",
"score" : "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H"
} ],
"affected" : [ {
"package" : {
"ecosystem" : "NuGet",
"name" : "HotChocolate.Language"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "0"
}, {
"fixed" : "12.22.7"
} ]
} ]
}, {
"package" : {
"ecosystem" : "NuGet",
"name" : "HotChocolate.Language"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "13.0.0"
}, {
"fixed" : "13.9.16"
} ]
} ]
}, {
"package" : {
"ecosystem" : "NuGet",
"name" : "HotChocolate.Language"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "14.0.0"
}, {
"fixed" : "14.3.1"
} ]
} ]
}, {
"package" : {
"ecosystem" : "NuGet",
"name" : "HotChocolate.Language"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "15.0.0"
}, {
"fixed" : "15.1.14"
} ]
} ]
} ],
"references" : [ {
"type" : "WEB",
"url" : "https://github.com/ChilliCream/graphql-platform/security/advisories/GHSA-qr3m-xw4c-jqw3"
}, {
"type" : "ADVISORY",
"url" : "https://nvd.nist.gov/vuln/detail/CVE-2026-40324"
}, {
"type" : "WEB",
"url" : "https://github.com/ChilliCream/graphql-platform/pull/9528"
}, {
"type" : "WEB",
"url" : "https://github.com/ChilliCream/graphql-platform/pull/9530"
}, {
"type" : "WEB",
"url" : "https://github.com/ChilliCream/graphql-platform/pull/9531"
}, {
"type" : "WEB",
"url" : "https://github.com/ChilliCream/graphql-platform/commit/08c0caa42ca33c121bbed49d2db892e5bf6fb541"
}, {
"type" : "WEB",
"url" : "https://github.com/ChilliCream/graphql-platform/commit/4cbaf67d366f800fc1e484bc5c06dfcf27b45023"
}, {
"type" : "WEB",
"url" : "https://github.com/ChilliCream/graphql-platform/commit/b185eb276c9ee227bd44616ff113be7f01a66c69"
}, {
"type" : "WEB",
"url" : "https://github.com/ChilliCream/graphql-platform/commit/b9271e6a500484c002fd528dcd34d1a9b445480f"
}, {
"type" : "PACKAGE",
"url" : "https://github.com/ChilliCream/graphql-platform"
}, {
"type" : "WEB",
"url" : "https://github.com/ChilliCream/graphql-platform/releases/tag/12.22.7"
}, {
"type" : "WEB",
"url" : "https://github.com/ChilliCream/graphql-platform/releases/tag/13.9.16"
}, {
"type" : "WEB",
"url" : "https://github.com/ChilliCream/graphql-platform/releases/tag/14.3.1"
}, {
"type" : "WEB",
"url" : "https://github.com/ChilliCream/graphql-platform/releases/tag/15.1.14"
} ],
"database_specific" : {
"cwe_ids" : [ "CWE-674" ],
"severity" : "CRITICAL",
"github_reviewed" : true,
"github_reviewed_at" : "2026-04-16T21:09:40Z",
"nvd_published_at" : "2026-04-18T00:16:36Z"
}
}