Description
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.
Published: 2026-08-25
Score: 5.9 Medium
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability originates in the coerceString and coerceBool functions of the graphql-go library, which accept scalar values whose runtime type does not match the declared GraphQL scalar type. This lack of strict type validation permits a client to submit a request containing values such as an unexpected nested structure or an object where a string or boolean is expected. As a result, when the library attempts to process such input it may access memory incorrectly, leading to a stack overflow and a fatal error that crashes the application. The issue aligns with CWE‑1287, describing improper contract validation and type confusion.

Affected Systems

The issue exists in the graphql-go project:graphql-go library, affecting all releases up to and including version 0.8.1. This library is used to build GraphQL servers in Go, so any application that processes user‑supplied GraphQL queries and relies on this vulnerable version is at risk.

Risk and Exploitability

With a CVSS score of 5.9, the vulnerability falls into the medium severity range. Exploitation requires an attacker to send a specially crafted GraphQL payload, so the likelihood is moderate but not high; EPSS is not available and the vulnerability is not listed in the CISA KEV catalog, indicating it is not currently a high‑profile target. Nevertheless, the stack overflow can cause a denial of service and, depending on the hosting environment, could enable further instability or compromise if the program enters undefined behavior. The attack vector is remote over the network through a GraphQL endpoint.

Generated by OpenCVE AI on August 25, 2026 at 20:35 UTC.

Remediation

Vendor Workaround

Decode GraphQL variables with a deserializer that enforces a maximum nesting depth (Go's standard encoding/json does), which mitigates the stack-overflow condition. There is no library-level workaround for the type-confusion condition short of application-side validation of scalar arguments or a custom scalar; upgrading once a fix ships is the durable remedy.


OpenCVE Recommended Actions

  • Upgrade the graphql-go library to a fixed release once it is available.
  • As an interim measure, decode GraphQL variable values with a JSON deserializer that enforces a maximum nesting depth, such as Go's standard encoding/json, to mitigate the stack‑overflow condition.
  • Validate scalar arguments on the application side or implement a custom scalar type to enforce type constraints until the library is updated.

Generated by OpenCVE AI on August 25, 2026 at 20:35 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 25 Aug 2026 20:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Tue, 25 Aug 2026 18:15:00 +0000

Type Values Removed Values Added
Description 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.
First Time appeared Graphql-go Project
Graphql-go Project graphql-go
Weaknesses CWE-1287
CPEs cpe:2.3:a:graphql-go_project:graphql-go:*:*:*:*:*:*:*:*
Vendors & Products Graphql-go Project
Graphql-go Project graphql-go
References
Metrics cvssV4_0

{'score': 5.9, 'vector': 'CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N'}


Subscriptions

Graphql-go Project Graphql-go
cve-icon MITRE

Status: PUBLISHED

Assigner: mitre

Published:

Updated: 2026-08-25T19:22:26.133Z

Reserved: 2026-08-25T17:55:04.047Z

Link: CVE-2026-80051

cve-icon Vulnrichment

Updated: 2026-08-25T19:22:16.788Z

cve-icon NVD

Status : Received

Published: 2026-08-25T18:18:07.120

Modified: 2026-08-25T20:17:08.790

Link: CVE-2026-80051

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-25T20:00:06Z

Weaknesses
  • CWE-1287

    Improper Validation of Specified Type of Input