CVE-2026-46679: libp2p Gossipsub Heap Exhaustion DoS (7.5 HIGH)
A flaw in the @libp2p/gossipsub library allows a single attacker to remotely crash any gossipsub node running the default configuration by exhausting its heap memory. No authentication is required—the attacker needs only network access to the target node. This denial-of-service attack exploits three related implementation gaps that compound to trigger excessive memory allocation. The vulnerability affects libp2p versions prior to 15.0.23 and has been patched.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 7.5 HIGH · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- Weaknesses (CWE)
- CWE-20, CWE-400, CWE-401
- Affected products
- 0 configuration(s)
- Published / Modified
- 2026-06-10 / 2026-06-17
NVD description (verbatim)
libp2p is a JavaScript Implementation of libp2p networking stack. Prior to version 15.0.23, three cooperating omissions in @libp2p/gossipsub allow an unauthenticated single peer to exhaust the Node.js heap of any gossipsub node with default options. This issue has been patched in version 15.0.23.
2 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
The vulnerability stems from three cooperating omissions in @libp2p/gossipsub's input validation and resource management logic. An unauthenticated peer can send specially crafted gossip protocol messages that trigger unbounded heap allocation on the receiving node. The root causes align with improper input validation (CWE-20), unrestricted resource consumption (CWE-400), and resource management defects (CWE-401). The network-based attack vector requires no special privileges or user interaction, making it trivial to exploit against default deployments. Memory exhaustion forces the Node.js process into an out-of-memory condition, causing immediate service disruption.
Business impact
Organizations relying on libp2p gossipsub for peer-to-peer consensus, messaging, or distributed networking face immediate availability risk. A single malicious or compromised peer can take down entire nodes in the network, fragmenting connectivity and halting time-sensitive operations. For blockchain projects, DeFi protocols, or decentralized applications using gossipsub, this translates to network instability, failed transactions, and potential financial loss. Recovery requires manual intervention to restart affected nodes, introducing operational overhead and extending outage windows.
Affected systems
Any application using @libp2p/gossipsub versions prior to 15.0.23 is vulnerable. This includes Go, Rust, and JavaScript implementations of IPFS, Filecoin, Polkadot, and other peer-to-peer systems that depend on libp2p for gossip-based message propagation. The default configuration is exploitable; no special setup is required to trigger the flaw. Systems running patched versions (15.0.23 and later) are protected.
Exploitability
This vulnerability is trivial to exploit. An attacker requires only network connectivity to a target gossipsub node—no credentials, authentication tokens, or user interaction are necessary. The attack is passive from the target's perspective (no social engineering) and can be automated. Crafting exploit payloads is straightforward given the nature of the flaw; proof-of-concept code would be simple to develop. The lack of any access control or rate-limiting barriers makes this a high-confidence, low-friction attack path.
Remediation
Upgrade @libp2p/gossipsub to version 15.0.23 or later immediately. This patch version addresses all three underlying omissions and restores proper input validation and resource limits. For projects unable to upgrade immediately, network-level mitigations (traffic filtering, peer allowlisting, or rate-limiting at the protocol layer) provide temporary risk reduction but are not substitutes for the patch. After patching, restart affected nodes to clear any residual heap pressure.
Patch guidance
Apply the patch by upgrading @libp2p/gossipsub to version 15.0.23 or a later release in your package manager (npm, yarn, etc.). Verify the upgrade in your lock file and run full integration tests against your peer-to-peer network before deployment. Roll out patched nodes incrementally if operating a large distributed system to avoid cascading effects. Monitor node health metrics (memory usage, uptime) during and after the rollout to confirm the patch took effect and no regressions occurred.
Detection guidance
Look for sudden or sustained heap memory growth on gossipsub nodes accompanied by out-of-memory errors or process crashes. Monitor peer connection logs for repeated messages from a single or small cluster of peers immediately before crashes. Network-based detection is difficult without protocol-level introspection; focus on behavioral signals such as abnormal resource consumption spikes correlated with specific peer activity. Logging enhancements in libp2p itself (post-patch) may help attribute crashes to this specific attack pattern.
Why prioritize this
This vulnerability merits immediate attention due to its trivial exploitability, high availability impact, and the ease with which a lone attacker can disable production infrastructure. The CVSS 7.5 HIGH score reflects the severity of denial-of-service in peer-to-peer networks where availability is often critical. Organizations operating gossipsub-dependent services should prioritize patching within days, not weeks, to close this gap before opportunistic or targeted exploitation occurs.
Risk score, explained
The CVSS 3.1 score of 7.5 (HIGH) is driven by the attack vector (network-based), low complexity, no privilege or user interaction required, and high availability impact. The lack of confidentiality and integrity loss prevents a maximum score, but the ease and certainty of denial-of-service justifies the HIGH rating. In the context of peer-to-peer and blockchain applications, where uptime and network health are business-critical, the real-world impact may exceed the base CVSS score; organizations should consider raised internal risk scores for mission-critical deployments.
Frequently asked questions
Do I need to be running gossipsub on the public Internet to be at risk?
No. Any node that accepts inbound gossipsub connections from untrusted peers is vulnerable. Even if your node is on a private network, a compromised peer within that network can trigger the attack. Only fully isolated or air-gapped deployments without external peer connections are safe without the patch.
Can network firewalls or traffic filtering prevent this attack?
Partially. Restricting inbound connections to a whitelist of known-good peers or blocking anonymous peer discovery can reduce exposure. However, if any untrusted peer gains access to your node, the attack is still possible. Network controls are a useful supplement but should not replace the patch.
If I am not running libp2p, am I affected?
Only if your application directly or indirectly depends on @libp2p/gossipsub. Projects using IPFS, Filecoin, Polkadot, or similar peer-to-peer systems built on libp2p may be affected. Check your dependency tree to confirm whether gossipsub is present.
What happens after my node crashes due to this attack?
The Node.js process will terminate due to out-of-memory conditions. Your application will be unavailable until the process is manually restarted or an automated watchdog restarts it. The node will rejoin the network once restarted, but no data is corrupted—this is a temporary denial of service, not data loss.
This analysis is based on the CVE record and vendor advisory current as of the publish date. Organizations should verify patch applicability and test thoroughly before deploying in production. SEC.co makes no warranty regarding the completeness or accuracy of this assessment; security teams should consult the official libp2p advisory and perform their own threat modeling. Exploit code or weaponized proofs-of-concept are not provided or endorsed. Source: NVD (public-domain), retrieved 2026-07-20. Analysis generated by SEC.co (claude-haiku-4-5).
Related vulnerabilities
- CVE-2026-45783HIGHlibp2p kad-dht Unauthenticated Denial of Service via Disk Exhaustion
- CVE-2026-48043MEDIUMNetty HTTP/2 Decompression Memory Leak DoS Vulnerability
- CVE-2024-14036HIGHDräger Core Denial of Service via Malformed SDC Messages
- CVE-2025-22424HIGHAndroid Local Privilege Escalation via Image Disclosure
- CVE-2025-52293HIGHGPAC MP4Box HEVC Parser Denial of Service (CVSS 7.5)
- CVE-2026-0078HIGHAndroid Privilege Escalation via DevicePolicyManagerService Desync
- CVE-2026-0419HIGHNETGEAR JR6150 Command Injection via Insufficient Input Validation
- CVE-2026-10020HIGHChrome Android Sandbox Escape via Skia Input Validation Flaw