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.
Published: 2026-09-01
Score: 8.7 High
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service
Action: Immediate Patch
AI Analysis

Impact

gRPC-Go, the Go implementation of gRPC, has a flaw that causes excessive heap usage when the library receives many fragmented HTTP/2 DATA frames. Each one‑byte frame is stored separately, so a victim can be forced to allocate memory far beyond what the payload actually requires. This can trigger a runtime panic or cause the process to terminate because it runs out of memory, leading to a denial of service. The weakness corresponds to CWE-400, a resource exhaustion problem.

Affected Systems

The vulnerability affects the grpc-go library before version 1.83.1. Applications that use grpc-go 1.82 and earlier are susceptible, regardless of the Go runtime version. Any Go project that imports github.com/grpc/grpc-go and communicates over gRPC without a patched version of the library can be impacted.

Risk and Exploitability

The CVSS score of 8.7 indicates a high severity, and the EPSS score is not available, so the exploitation probability cannot be quantified. The vulnerability is not listed in the CISA KEV catalog. Attackers only need to send many fragmented DATA frames over an HTTP/2 connection; an unauthenticated remote attacker can generate this traffic. Because the flaw is triggered by normal gRPC traffic and requires no special privileges, the threat is significant for services exposed to untrusted networks.

Generated by OpenCVE AI on September 2, 2026 at 03:36 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the grpc-go library to version 1.83.1 (or later) where the bug is fixed.
  • If an immediate upgrade is not possible, enable receive‑buffer compaction by setting the environment variable GRPC_GO_EXPERIMENTAL_ENABLE_RECEIVE_BUFFER_COMPACTION to 1 before starting the application.
  • Apply operating‑system or container resource limits to cap the memory usage of the Go process, such as using ulimit or cgroup configuration, to prevent the application from exhausting system memory during an attack.

Generated by OpenCVE AI on September 2, 2026 at 03:36 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-vp52-pcj8-j9qc gRPC-Go: Heap Memory Exhaustion (OOM) via HTTP/2 DATA Frame Fragmentation
History

Wed, 02 Sep 2026 08:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

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


Wed, 02 Sep 2026 03:00:00 +0000

Type Values Removed Values Added
First Time appeared Grpc
Grpc grpc-go
Vendors & Products Grpc
Grpc grpc-go

Tue, 01 Sep 2026 22:00:00 +0000

Type Values Removed Values Added
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.
Title gRPC-Go: Heap Memory Exhaustion (OOM) via HTTP/2 DATA Frame Fragmentation
Weaknesses CWE-400
References
Metrics cvssV4_0

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


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-09-01T19:24:36.867Z

Reserved: 2026-09-01T16:17:43.078Z

Link: CVE-2026-84304

cve-icon Vulnrichment

Updated: 2026-09-01T19:24:33.720Z

cve-icon NVD

Status : Deferred

Published: 2026-09-01T19:17:30.743

Modified: 2026-09-09T21:09:13.080

Link: CVE-2026-84304

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-02T03:45:04Z

Weaknesses
  • CWE-400

    Uncontrolled Resource Consumption