Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessConnect to exposed gRPC-Go service
-
DeliveryOpen concurrent multiplexed HTTP/2 streams
-
ExploitFlood each stream with millions of one-byte DATA frames
-
ExecutionExhaust server heap via recvMsg metadata accumulation
-
ImpactTrigger runtime panic or OOM termination
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource consumption limits
MITRE ATT&CK
1 technique across 1 tactic: Impact The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | No special configuration is required - the vulnerability is triggered by normal HTTP/2 framing behavior in any gRPC-Go server or client prior to 1.83.1 that accepts connections. The CVSS PR:N vector confirms no authentication is needed. The service must be network-reachable (typically on a configured gRPC TCP port). The primary limiting factor is practical: the attacker must sustain a high-volume fragmented DATA frame flood across multiple concurrent streams long enough to exhaust available memory; this may be slowed but not prevented by network bandwidth constraints, connection rate limits, or server-side MaxConcurrentStreams configuration. Services with large memory allocations will take longer to crash but remain fully vulnerable. |
| Impact | The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N/VA:H) accurately reflects the attack surface: network-accessible, low complexity, no authentication, high availability impact. Any internet-exposed or cluster-internal gRPC-Go service is inherently reachable, and the attack requires only a standard HTTP/2 or gRPC client capable of stream multiplexing and fine-grained frame control. Even a mid-sized municipal IT team in bytom operating Go-based microservices on Kubernetes should treat this as urgent if any gRPC-Go service accepts connections from untrusted clients. No EPSS score was supplied in the input data, but the low exploitation complexity and broad deployment footprint of gRPC-Go in cloud-native Go services suggest material real-world risk. CISA KEV status is not confirmed and no public PoC has been identified at time of analysis; however, the technique is straightforward and fully described in the public security advisory. The sole practical limiting factor is the attacker's ability to sustain a high-volume fragmented stream long enough to exhaust server memory. |
| Exploit ScenarioDerived | An attacker establishes one or more gRPC connections to a target service and opens multiple concurrent HTTP/2 streams, sending valid but heavily fragmented DATA frames with each stream carrying millions of one-byte payloads. Because HTTP/2 flow-control only tracks payload bytes and not the number of recvMsg allocations, the server accumulates millions of heap objects per stream and exhausts available process memory. No public exploit code has been identified, but the technique is straightforward and directly described in the public GitHub advisory and the PR diff. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 01, 2026
Memory exhaustion in gRPC-Go before version 1.83.1 allows an unauthenticated remote attacker to crash any service built on this library by sending HTTP/2 streams fragmented into millions of tiny one-byte DATA frames. Each fragment is stored as a separate recvMsg object in recvBuffer, creating severe heap overhead that bypasses HTTP/2 flow-control protections - which limit payload bytes, not the number of allocated metadata objects. No public exploit has been identified at time of analysis, but the attack is fully derivable from the public GitHub advisory and PR diff.
RemediationAI
Upgrade gRPC-Go to version 1.83.1 or later, the vendor-released patch confirmed by the GitHub release at https://github.com/grpc/grpc-go/releases/tag/v1.83.1 and associated security advisory GHSA-vp52-pcj8-j9qc. As an interim control prior to patching, the receive-buffer compaction feature is on by default in 1.83.1; on unpatched builds it is not present and cannot be retroactively enabled. Network-level mitigations include enforcing a low MaxConcurrentStreams limit on gRPC server options and rate-limiting incoming connections from untrusted sources - these reduce attack surface but do not fully eliminate the vulnerability since a single sustained stream with sufficient fragmented frames may still trigger OOM. The compaction feature introduced in the fix can also be disabled as an escape hatch via GRPC_GO_EXPERIMENTAL_ENABLE_RECEIVE_BUFFER_COMPACTION=false if unforeseen regressions arise after upgrading, though this re-exposes the vulnerability and should only be used temporarily.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in go, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
gRPC-Go (cpe:2.3:a:grpc:grpc-go:*:*:*:*:*:*:*:*) is the official Go-language implementation of gRPC, widely used for microservice RPC communication. The vulnerability is rooted in internal/transport/transport.go's recvBuffer implementation, which stores incoming HTTP/2 DATA frames as individual recvMsg entries in a backlog slice. HTTP/2 allows a single message payload to be split across many frames via stream multiplexing; the protocol's flow-control window limits payload bytes but imposes no bound on the number of recvMsg structs allocated. Each struct plus its slice header adds fixed-size heap metadata independent of payload size, so an attacker sending millions of one-byte frames generates millions of heap objects far exceeding the payload budget. CWE-400 (Uncontrolled Resource Consumption) precisely captures this: resource consumption is disproportionate to the workload the protocol's own controls are meant to allow. The fix in v1.83.1 introduces compactBacklogLocked, which coalesces small-frame backlogs into larger pooled buffers. The feature is enabled by default and governed by the GRPC_GO_EXPERIMENTAL_ENABLE_RECEIVE_BUFFER_COMPACTION environment variable.
Know when Grpc gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
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
Network-accessible with no auth or user interaction; scope unchanged; only availability is impacted as the attack causes OOM crash with no confidentiality or integrity effect.
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
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.
Technical POC Analysis
CVE-2026-84304 (CVSS 8.7) is a CWE-400 uncontrolled resource consumption flaw in gRPC-Go before 1.83.1.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Latest POC
1 public PoC link from github
Sign in to open the public PoC links collected for this CVE.
Executive ViewAI
gRPC-Go before version 1.83.1 contains a memory exhaustion vulnerability allowing unauthenticated remote attackers to crash services using this library. No public exploit has been identified, but the attack is straightforward to develop from public advisory details, creating critical risk across any gRPC-Go deployment.
No vendor-released patch identified at time of analysis. Implement HTTP/2 connection rate limiting per source IP, enforce maximum concurrent streams, configure short timeouts for frame reception, enable continuous memory monitoring with alert thresholds, deploy auto-restart policies for affected services, and consider reverse-proxy protections (nginx/Envoy). When vendor releases gRPC-Go 1.83.1, deploy immediately to all production services.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour
Google gRPC before 2017-03-29 has an out-of-bounds write caused by a heap-based use-after-free related to the grpc_call_
Unsafe Erlang term deserialization in the elixir-grpc library (versions 0.4.0 through 1.0.0) allows unauthenticated remo
Unauthenticated denial of service in the elixir-grpc library (versions 0.3.1 up to but not including 1.0.0) allows a sin
Authorization bypass in elixir-grpc (grpc library for Elixir) versions 0.8.0 through 0.x allows authenticated attackers
Authorization bypass in the @grpc/grpc-js-xds package (the xDS/RBAC extension for @grpc/grpc-js) lets a request for one
It's possible for a gRPC client communicating with a HTTP/2 proxy to poison the HPACK table between the proxy and the ba
Google gRPC before 2017-02-22 has an out-of-bounds write caused by a heap-based buffer overflow related to the parse_uni
Google gRPC before 2017-02-22 has an out-of-bounds write related to the gpr_free function in core/lib/support/alloc.c. R
Google gRPC before 2017-04-05 has an out-of-bounds write caused by a heap-based buffer overflow related to core/lib/iomg
The package grpc before 1.24.4; the package @grpc/grpc-js before 1.1.8 are vulnerable to Prototype Pollution via loadPac
Denial of service in the elixir-grpc library (versions 0.4.0 through 0.x) allows unauthenticated remote attackers to cra
Same weakness CWE-400 – Uncontrolled Resource Consumption
View allSame technique Denial Of Service
View allVendor StatusVendor
SUSE
Severity: Important| Product | Status |
|---|---|
| SUSE Linux Enterprise Micro 5.5 | Affected |
| SUSE Linux Enterprise Module for Containers 15 SP7 | Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP7 | Affected |
| SUSE Linux Enterprise Server 15 SP7 | Affected |
| SUSE Linux Enterprise Server 16.0 | Affected |
| SUSE Linux Enterprise Server 16.1 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP7 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Affected |
| SUSE Linux Micro 6.0 | Affected |
| SUSE Linux Micro 6.1 | Affected |
| SUSE Linux Micro 6.2 | Affected |
| openSUSE Leap 16.0 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5-LTSS | Affected |
| SUSE Linux Enterprise Module for Containers 15 SP4 | Affected |
| SUSE Linux Enterprise Module for Containers 15 SP5 | Affected |
| SUSE Linux Enterprise Module for Containers 15 SP6 | Affected |
| SUSE Linux Enterprise Module for Public Cloud 15 SP4 | Affected |
| SUSE Linux Enterprise Module for Public Cloud 15 SP5 | Affected |
| SUSE Linux Enterprise Server 15 SP4 | Affected |
| SUSE Linux Enterprise Server 15 SP4 | Affected |
| SUSE Linux Enterprise Server 15 SP4-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP5 | Affected |
| SUSE Linux Enterprise Server 15 SP5 | Affected |
| SUSE Linux Enterprise Server 15 SP5-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP6 | Affected |
| SUSE Linux Enterprise Server 15 SP6-LTSS | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP4 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP4 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP5 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP5 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP6 | Affected |
| SUSE Enterprise Storage 7 | Affected |
| SUSE Enterprise Storage 7.1 | Affected |
| SUSE Enterprise Storage 7.1 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP2 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP3 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP3 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP3-ESPOS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP3-LTSS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS | Affected |
| SUSE Linux Enterprise Module for Containers 15 SP3 | Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP3 | Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP4 | Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP5 | Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP5 | Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP6 | Affected |
| SUSE Linux Enterprise Module for Public Cloud 15 SP2 | Affected |
| SUSE Linux Enterprise Module for Public Cloud 15 SP3 | Affected |
| SUSE Linux Enterprise Server 15 SP2 | Affected |
| SUSE Linux Enterprise Server 15 SP3 | Affected |
| SUSE Linux Enterprise Server 15 SP3 | Affected |
| SUSE Linux Enterprise Server 15 SP3-BCL | Affected |
| SUSE Linux Enterprise Server 15 SP3-LTSS | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP2 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP3 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP3 | Affected |
| SUSE Manager Proxy 4.1 | Affected |
| SUSE Manager Proxy 4.2 | Affected |
| SUSE Manager Proxy 4.2 | Affected |
| SUSE Manager Proxy 4.3 | Affected |
| SUSE Manager Proxy 4.3 | Affected |
| SUSE Manager Retail Branch Server 4.1 | Affected |
| SUSE Manager Retail Branch Server 4.2 | Affected |
| SUSE Manager Retail Branch Server 4.2 | Affected |
| SUSE Manager Retail Branch Server 4.3 | Affected |
| SUSE Manager Retail Branch Server 4.3 | Affected |
| SUSE Manager Server 4.1 | Affected |
| SUSE Manager Server 4.2 | Affected |
| SUSE Manager Server 4.2 | Affected |
| SUSE Manager Server 4.3 | Affected |
| SUSE Manager Server 4.3 | Affected |
| openSUSE Leap 15.3 | Affected |
| openSUSE Leap 15.3 | Affected |
| openSUSE Leap 15.4 | Affected |
| openSUSE Leap 15.4 | Affected |
| openSUSE Leap 15.5 | Affected |
| openSUSE Leap 15.5 | Affected |
| openSUSE Leap 15.6 | Affected |
| openSUSE Leap 15.6 | Affected |
| openSUSE Leap Micro 5.5 | Affected |
| suse/helm suse/kubectl suse/kubectl:1.33 | Affected |
EUVD-2026-69420
GHSA-vp52-pcj8-j9qc
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB