CVE Catalog

CVE-2026-84304

HighCVSS 8.7
Published: Updated: Translated: NVD NIST

Summary

gRPC-Go prior to 1.83.1 stores each fragmented HTTP/2 DATA frame as a separate recvMsg, so millions of one-byte frames can consume disproportionate heap memory. An unauthenticated remote attacker can use concurrent multiplexed streams to exhaust process memory and cause a runtime panic or OOM termination. Receive-buffer compaction is enabled by default and can be controlled with GRPC_GO_EXPERIMENTAL_ENABLE_RECEIVE_BUFFER_COMPACTION. Fixed in 1.83.1.

Risk Assessment

An attacker could cause a denial of service by exhausting memory, potentially leading to unavailability of applications using gRPC.

Recommendation

Update gRPC-Go to version 1.83.1 or later. Monitor memory usage and consider limiting concurrent streams.

Other vulnerabilities in gRPC-Go

See all
Original NVD description (English source)

gRPC-Go is the Go language implementation of gRPC. Prior to 1.83.1, internal/transport/transport.go stores each fragmented HTTP/2 DATA frame as a separate recvMsg in recvBuffer, so millions of one-byte frames can consume disproportionate heap memory even when payload bytes remain within connection and stream flow-control windows. An unauthenticated remote attacker can use concurrent multiplexed streams to exhaust process memory and cause a runtime panic or out-of-memory termination. Receive-buffer compaction is enabled by default and can be controlled temporarily with GRPC_GO_EXPERIMENTAL_ENABLE_RECEIVE_BUFFER_COMPACTION. This issue is fixed in version 1.83.1.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS