CVE-2026-84304: gRPC-Go: Heap Memory Exhaustion (OOM) via HTTP/2 DATA Frame Fragmentation
An unauthenticated remote attacker can initiate a gRPC stream and purposefully fragment their payload into millions of tiny (e.g., 1-byte) HTTP/2 DATA frames. Even if the total payload volume falls within the configured connection and stream flow-control windows, each independent fragment incurs memory overhead due to internal tracking structures and queue allocation.
Repeated fragmentation massively inflates the heap space consumed by the stream. An attacker multiplexing multiple concurrent streams can exhaust the memory bounds of the runtime, forcing a runtime panic or OutOfMemory condition and leading to a remote Denial of Service (DoS).
References
- github.com/advisories/GHSA-vp52-pcj8-j9qc
- github.com/grpc/grpc-go/commit/7354d9c8debb4bcf2225bf429857078de310c176
- github.com/grpc/grpc-go/commit/8cfeca0e1ee5ea0980dcc320e20240fa1079ec77
- github.com/grpc/grpc-go/pull/9331
- github.com/grpc/grpc-go/pull/9333
- github.com/grpc/grpc-go/releases/tag/v1.83.1
- github.com/grpc/grpc-go/security/advisories/GHSA-vp52-pcj8-j9qc
- nvd.nist.gov/vuln/detail/CVE-2026-84304
Code Behaviors & Features
Detect and mitigate CVE-2026-84304 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →