CVE-2026-40476
HighSummary
In versions 15.31.4 and below, the OverlappingFieldsCanBeMerged validation rule in graphql-go performs O(n²) pairwise comparisons of fields sharing the same response name. An attacker can send a query with thousands of repeated identical fields, causing excessive CPU usage during validation.
Risk Assessment
Excessive CPU usage can lead to server performance degradation, impacting service availability for users. Organizations may be vulnerable to DoS attacks that can disrupt application functionality.
Recommendation
It is recommended to upgrade to version 15.31.5 or later to mitigate this vulnerability. Additionally, monitoring GraphQL queries for unusual usage patterns is advisable.
Other vulnerabilities in graphql-go
See all- CVE-2026-80051Medium
github.com/graphql-go/graphql (GraphQL for Go) through 0.8.1 does not validate that a scalar variable value matches its declared type. The built-in coerceString and coerceBool functions (scalars.go) accept input whose type does not match the declared String, ID, or Boolean scalar instead of raising the request error that the GraphQL specification mandates. In some cases (but not any typical case of JSON sent to a website), a deeply nested value leads to an unrecoverable "fatal error: stack overflow" condition.
- CVE-2022-37315High
graphql-go (aka GraphQL for Go) through 0.8.0 has infinite recursion in the type definition parser.
Original NVD description (English source)
graphql-go is a Go implementation of GraphQL. In versions 15.31.4 and below, the OverlappingFieldsCanBeMerged validation rule performs O(n²) pairwise comparisons of fields sharing the same response name. An attacker can send a query with thousands of repeated identical fields, causing excessive CPU usage during validation before execution begins. This is not mitigated by existing QueryDepth or QueryComplexity rules. This issue has been fixed in version 15.31.5.

