Cloudanix VulnDB

CVE-2022-37315

High · 7.5

CVSS

7.5

EPSS

1.2%

Published

Aug 1, 2022

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A software bug lets an attacker send specially formatted data that can make the program stop responding, causing temporary outages for anyone using the affected service.

Exploit Available
Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
Low
Impact
Denial Of Service
Component
Library
Class
Denial of service
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

The flaw triggers unbounded recursion inside the GraphQL type-definition parser, exhausting stack or CPU resources and producing a denial-of-service condition.

Why it matters to the business

Applications that accept GraphQL requests can be rendered unavailable, interrupting dependent services until the process is restarted or resources are recovered.

How an attack unfolds

An attacker supplies a GraphQL document containing a recursively defined type; the parser enters infinite recursion, and because a public exploit is available the attack can be automated with minimal effort.

How to fix it

Upgrade the graphql-go dependency to a version containing commit ab4381c35d24add06f75d5a8a284321f7a340bd2 or later; if the component is vendored inside vantage6/vantage6, pull that exact commit or a newer release that incorporates the fix.

How to confirm the fix worked

Confirm the resolved graphql-go version or commit hash, then replay a minimal recursive-type test case and verify that parsing terminates with an error instead of recursing.

Typical attack path

  1. Locate an HTTP endpoint that accepts GraphQL queries or schema uploads
  2. Craft a request containing a type definition that references itself
  3. Transmit the request to the server
  4. Parser recurses until stack or CPU limits are reached
  5. Service becomes unresponsive or crashes

How to detect it

Review web-server and application logs for unusually long-lived or high-CPU GraphQL parsing threads; correlate with spikes in request size or malformed type definitions.

What your security team should do

  • Apply the referenced commit or newer release within the next maintenance window
  • Add rate-limiting and query-complexity controls in front of GraphQL endpoints
  • Monitor process CPU and memory metrics for sudden spikes
  • Include the fixed commit in SBOM scans to detect other affected deployments

The record

graphql-go (aka GraphQL for Go) through 0.8.0 has infinite recursion in the type definition parser.

Affected packages

Ecosystem Package Introduced Fixed
Go github.com/graphql-go/graphql 0 0.8.1
Ubuntu:20.04:LTS golang-github-graph-gophers-graphql-go 0 No fix
Ubuntu:22.04:LTS golang-github-graph-gophers-graphql-go 0 No fix
Ubuntu:24.04:LTS golang-github-graph-gophers-graphql-go 0 No fix
Ubuntu:24.10 golang-github-graph-gophers-graphql-go 0 No fix
Ubuntu:25.04 golang-github-graph-gophers-graphql-go 0 No fix
Ubuntu:25.10 golang-github-graph-gophers-graphql-go 0 No fix
Ubuntu:Pro:20.04:LTS golang-github-graph-gophers-graphql-go 0 No fix

Related vulnerabilities