Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessConnect to Gossipsub listener as peer
-
DeliverySend GRAFT with novel topic hashes
-
ExploitUnsubscribed topics added to connected_peer.topics
-
ExecutionRepeat to force cumulative memory growth
-
ImpactExhaust process memory, denial of service
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource allocation 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 | The target node must be running the libp2p-rust Gossipsub protocol (protocols/gossipsub) at a version prior to 0.49.5 and expose a Gossipsub listener reachable by the attacker; no authentication, user interaction, or non-default configuration is required, since the vulnerable GRAFT handling is part of default control-message processing. The specific prerequisite is reachability of a Gossipsub-enabled endpoint - a node that does not run Gossipsub or is not network-reachable by the attacker is not affected. The only practical limiting factor is network exposure of the Gossipsub listener; subscription filters, peer scoring, and per-message size limits do NOT constrain the growth and therefore provide no mitigation. |
| Impact | This is a genuine, actionable availability risk rather than an inflated high-score issue. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N) is fully consistent with the description: a remote, unauthenticated peer that can reach a Gossipsub listener can trigger the flaw with no special timing or preconditions (AC:L, AT:N), and impact is availability-only (VA:H, VC:N/VI:N) - matching CWE-770 uncontrolled resource consumption leading to memory exhaustion and denial of service. All signals agree on scope: there is no confidentiality or integrity impact and no scope change to subsequent systems, so the 8.7 score is driven entirely by the ease and reliability of the DoS, which is appropriate. No EPSS score, no CISA KEV listing, and no public exploit are present in the input, so exploitation probability cannot be quantified; however, the fixing PR diff (libp2p/rust-libp2p#6608) publicly documents the exact unbounded-growth logic in connected_peer.topics, which materially lowers the effort to reproduce even though it is not itself weaponized exploit code. Net: treat as a real patching priority for any node exposing a Gossipsub listener, but note the impact ceiling is service disruption, not compromise. |
| Exploit ScenarioDerived | A remote unauthenticated peer connects to a node running libp2p-rust Gossipsub (version < 0.49.5) and repeatedly sends GRAFT control messages each referencing novel, never-subscribed topic hashes. Because the handler inserts every attacker-supplied topic into the per-peer connected_peer.topics set without verifying prior subscription, and this growth is bounded by neither subscription filters, peer scoring, nor per-message size limits, sustained GRAFT flooding drives cumulative per-peer memory growth until the process exhausts memory and crashes. No public exploit is identified at time of analysis, though the fixing PR publicly describes the vulnerable code path. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 16, 2026
Remote unauthenticated denial of service in rust-libp2p Gossipsub affects versions prior to 0.49.5 and allows any peer that can reach a Gossipsub listener to repeatedly send novel GRAFT topic hashes. The handler unconditionally records those attacker-supplied topics in the per-peer connected_peer.topics map, so memory grows cumulatively without being bounded by subscription filters, peer scoring, or per-message size limits, eventually exhausting process memory and taking the node down. No public exploit identified at time of analysis; the issue is availability-only (CVSS 4.0 8.7 / assessed CVSS 3.1 7.5), and reachability of the Gossipsub listener is the practical prerequisite.
RemediationAI
Upgrade to libp2p-gossipsub v0.49.5 or a rust-libp2p release that includes it; vendor-released patch: 0.49.5, with the fix documented in GHSA-g3g5-x568-qvqx and the referenced commit 51ed5f00e1b0620ded3444ecadf18477052148ea. If immediate upgrade is not possible, reduce exposure of the Gossipsub listener to trusted network peers only via ACLs or firewall rules, or disable Gossipsub where the node does not require it; these are compensating controls because subscription filters, peer scoring, and per-message size limits do not bound the vulnerable growth. Trade-offs: restricting reachability reduces peer discovery and connectivity and may fragment the gossip mesh, while disabling Gossipsub removes pubsub functionality for that node.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The flaw is in the Gossipsub protocol implementation of rust-libp2p, specifically GRAFT control-message processing. GRAFT is used in Gossipsub mesh maintenance to request addition to a peer's mesh for a topic; in vulnerable versions the handler inserted each received topic hash into connected_peer.topics without first verifying the sending peer had a recorded subscription to that topic. This is CWE-770 (Allocation of Resources Without Limits or Throttling): the per-peer topic set can grow with every novel topic hash an attacker sends, and because the data is stored per connected peer, repeated messages produce cumulative memory consumption that is not capped by peer scoring, subscription filters, or message-size limits. The fix in 0.49.5 changes the handler to discard GRAFTs for topics the local node has not subscribed to, and only retain legitimate subscriptions; the advisory GHSA-g3g5-x568-qvqx and commit 51ed5f00e1b0620ded3444ecadf18477052148ea document the correction.
Know when Libp2P 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
Remote unauthenticated peer reaching a Gossipsub listener needs no privileges or interaction (AV:N/AC:L/PR:N/UI:N); impact is memory-exhaustion DoS only, so C:N/I:N/A:H with unchanged scope.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
libp2p-rust is the official Rust language implementation of the libp2p networking stack. Prior to 0.49.5, Gossipsub GRAFT control-message handling unconditionally adds attacker-supplied topic hashes to connected_peer.topics without confirming that the peer previously subscribed to those topics. A remote unauthenticated peer that can reach a Gossipsub listener can repeatedly send novel GRAFT topics, causing cumulative per-peer memory growth that is not bounded by subscription filters, peer scoring, or per-message size limits. This can exhaust process memory and cause a denial of service. This issue is fixed in version 0.49.5.
Technical POC Analysis
CWE-770: Allocation of Resources Without Limits or Throttling.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
Organizations operating peer-to-peer services built on rust-libp2p release 0.49.5 and earlier are exposed to a memory-exhaustion condition in the Gossipsub message handler that can be triggered by any network peer able to reach an open Gossipsub listener, degrading or taking individual nodes offline. Because the condition is availability-only and reachable over the network without pre-existing trust, teams running public-facing blockchain, decentralized storage, or other libp2p-based infrastructure should treat unplanned node outages as a plausible business disruption rather than a theoretical risk. Leadership attention is warranted because no vendor-released patch is currently flagged in our tracking data, leaving exposure management dependent on network controls and monitoring in the near term.
No vendor-released patch identified at time of analysis. Interim mitigations: restrict Gossipsub listener reachability to allowlisted peers via firewall or network policy, segment public-facing libp2p nodes from internal services, monitor and alert on unbounded process memory growth with automated node recycling, rate-limit or block GRAFT-heavy peer traffic at the network edge, and reduce node blast radius by capping the number of nodes sharing a single failure domain. Exploitation status: no public exploit identified at time of analysis.
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 in libp2p-rendezvous ≤0.17.1 (Rust) allows a malicious rendezvous server to crash any connecting clien
Address-book poisoning in the @libp2p/peer-store component of js-libp2p (8.0.0 up to, but not including, 12.0.24) allows
go-libp2p is the Go implementation of the libp2p Networking Stack. Rated high severity (CVSS 7.5), this vulnerability is
Uncontrolled resource consumption in py-libp2p's yamux stream multiplexer allows any remote peer that completes a standa
Forged message authorship in @libp2p/gossipsub 15.0.0 through 16.0.4 lets an unauthenticated, remote attacker sign a gos
Rust Yamux prior to version 0.13.10 is vulnerable to denial of service when processing specially crafted inbound stream
Unauthenticated remote denial of service in @libp2p/webrtc (the js-libp2p WebRTC transport) before 6.0.28 lets a single
Unauthenticated denial of service in @libp2p/floodsub before 11.0.26 (packaged with js-libp2p < 11.0.26) lets a remote p
Unbounded abort listener accumulation in js-libp2p's circuit-relay-v2 relay server allows any remote peer to exhaust mem
libp2p is a networking stack and library modularized out of The IPFS Project, and bundled separately for other tools to
go-libp2p is the offical libp2p implementation in the Go programming language. Rated high severity (CVSS 7.5), this vuln
js-libp2p is the official javascript Implementation of libp2p networking stack. Rated high severity (CVSS 7.5), this vul
EUVD-2026-102898
NVD
CVE.org
GitHub
Exploit-DB