High severity · published Sep 1, 2026
CVE-2026-84304
gRPC-Go: Heap Memory Exhaustion (OOM) via HTTP/2 DATA Frame Fragmentation
8.7
CVSS
0.6%
EPSS
No
On KEV
Description
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.
Exploitation
Is it being used?
Exploit prediction (EPSS)0.6% · higher than 49% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
GR
grpc-go · grpc
< 1.83.1 · source: vendor
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2026-84304
CVE.org
https://www.cve.org/CVERecord?id=CVE-2026-84304
github.com
https://github.com/grpc/grpc-go/commit/7354d9c8debb4bcf2225bf429857078de310c176
github.com
https://github.com/grpc/grpc-go/commit/8cfeca0e1ee5ea0980dcc320e20240fa1079ec77
github.com
https://github.com/grpc/grpc-go/pull/9331
github.com
https://github.com/grpc/grpc-go/pull/9333
github.com
https://github.com/grpc/grpc-go/releases/tag/v1.83.1
github.com
https://github.com/grpc/grpc-go/security/advisories/GHSA-vp52-pcj8-j9qc
More from grpc-go
9.1
CVE-2026-33186
gRPC-Go has an authorization bypass via missing leading slash in :path
8.7
CVE-2026-84445
gRPC-Go: Denial of Service (DoS) via crash due to missing `:authority` and `Host` headers in the xDS servers
6.3
CVE-2026-84303
gRPC-Go: xDS RBAC HTTP Filter bypass via mixed-case Header Matching and gRFC A41 validation evasion
