Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconAttacker operates or compromises rendezvous server
-
DeliveryVictim libp2p client initiates peer discovery
-
ExploitServer returns response with max-boundary TTL value
-
InstallClient passes unvalidated TTL into timer arithmetic
-
C2Integer overflow occurs in src/client.rs
-
ExecuteRust runtime panics
-
ImpactClient node process terminates (DoS)
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Integer overflow checks
MITRE ATT&CK
1 technique across 1 tactic: Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | The victim client must initiate a peer discovery request against a rendezvous server controlled or compromised by the attacker; the vulnerability fires on the inbound discovery response. Clients connecting exclusively to self-operated, trusted rendezvous servers are not reachable by an external attacker. No authentication, special platform configuration, or specific OS is required beyond normal libp2p-rendezvous client usage (version ≤0.17.1). The limiting factor is server-position: the attacker must occupy or impersonate the rendezvous server role in the discovery exchange - a passive network observer cannot trigger this remotely. |
| Impact | The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N/VA:H) scores 8.7 and suggests a low-complexity, unauthenticated network exploit - but the practical attack surface is narrower than that score implies. Exploitation unconditionally requires the attacker to control or impersonate a rendezvous server that the target client connects to; an arbitrary internet attacker who has no position in the discovery path cannot trigger this remotely. The scope is therefore limited to deployments using public or untrusted rendezvous servers, or deployments where a rendezvous server has been compromised. The availability impact is complete (process panic/crash), with no confidentiality or integrity impact. EPSS data is not included in the available inputs; even a mid-sized operator in zabrze running libp2p-based infrastructure on public rendezvous endpoints should treat this as a patch-or-migrate priority given the trivial exploit complexity once server-position is achieved. No CISA KEV listing is present. A public proof-of-concept gist exists, lowering the barrier for any attacker who already controls a rendezvous server. |
| Exploit ScenarioDerived | An attacker operates or compromises a libp2p rendezvous server reachable by target nodes. When a victim client performs a peer discovery request, the attacker returns a crafted discovery response containing a TTL value near or at the maximum integer boundary. The client's timer computation in src/client.rs overflows, the Rust runtime detects the invalid arithmetic, and the client process panics and terminates - achieving an unauthenticated denial-of-service against any node using that rendezvous server. A public proof-of-concept gist is referenced in the CVE. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv2 – Sep 11, 2026
Denial-of-service in libp2p-rendezvous ≤0.17.1 (Rust) allows a malicious rendezvous server to crash any connecting client node by sending a discovery response containing an unbounded TTL value. The client fails to validate the TTL before computing an expiry timer, triggering a CWE-190 integer arithmetic overflow that causes a Rust process panic. A proof-of-concept gist has been published; no confirmed active exploitation has been identified at time of analysis.
Earlier versions of this analysis (1)
Denial-of-service in libp2p-rendezvous through 0.17.1 allows a malicious rendezvous server to crash any connecting client node by sending a crafted discovery response carrying an unbounded TTL value. The client's timer computation overflows when attempting to derive the registration expiry instant from the excessively large TTL, causing the Rust process to panic. No authentication or prior trust is required beyond the victim node connecting to the attacker-controlled rendezvous server. No public patch has been confirmed at time of analysis, and a proof-of-concept gist is publicly available.
RemediationAI
No specific patched release version is identified in the available data; the VulnCheck advisory at https://www.vulncheck.com/advisories/libp2p-rendezvous-through-0.17.1-denial-of-service-via-unbounded-registration-ttl-in-discovery-responses should be monitored for an updated fix version once the rust-libp2p maintainers publish a corrected release beyond 0.17.1. As an immediate compensating control, restrict client nodes to connecting only to trusted, internally operated rendezvous servers - this eliminates the malicious-server attack path entirely, at the cost of reduced peer-discovery reach on public networks. Operators who cannot upgrade immediately should consider wrapping the rendezvous client with TTL validation at the application layer before the value is passed to timer computation, though this requires code changes. Blocking untrusted rendezvous server endpoints at the network perimeter is a lower-friction interim step for environments with defined peer topologies.
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
libp2p is a modular peer-to-peer networking stack; the rendezvous protocol (RFC-style) allows nodes to register with and discover peers through a designated rendezvous point. The affected crate is the Rust implementation of this protocol (cpe:2.3:a:libp2p:libp2p-rendezvous), part of the rust-libp2p ecosystem hosted at github.com/libp2p/rust-libp2p. During peer discovery, the server returns registration records with a TTL (time-to-live) field indicating how long the registration remains valid. The client is expected to schedule a timer based on this TTL. CWE-190 (Integer Overflow or Wraparound) is the root cause: an attacker-controlled, unbounded TTL value is fed directly into timer arithmetic without range validation, producing an overflow that Rust's runtime detects and converts to a panic, terminating the node process. The source file implicated is src/client.rs in version 0.17.1.
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
AC:H because exploitation requires attacker-controlled server position in the rendezvous path; no confidentiality or integrity impact applies.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
3DescriptionCVE.org
libp2p-rendezvous through 0.17.1 fails to validate registration TTL values in discovery responses, allowing attackers to trigger timer arithmetic overflow. A malicious rendezvous server can send a discovery response with an unbounded TTL value that causes the client node process to panic when computing the expiry timer.
Technical POC Analysis
Evidence caveat, read first: the only supplied source is a GitHub gist containing a daily CTI summary.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Latest POC
1 PoC candidate from github (unverified)
Sign in to open the public PoC links collected for this CVE.
Executive ViewAI
libp2p-rendezvous ≤0.17.1 contains a denial-of-service vulnerability allowing compromised rendezvous servers to crash client applications, disrupting any service dependent on this P2P networking library. Organizations using affected versions face availability risk if they connect to public or externally-hosted rendezvous servers. No patch is currently available, requiring immediate inventory and mitigation to contain exposure.
No vendor-released patch identified at time of analysis. Until patches become available, restrict libp2p-rendezvous client connections to trusted internal rendezvous servers only via network segmentation, disable rendezvous discovery if operationally acceptable, implement real-time crash monitoring and alerting for dependent applications, and maintain regular vendor contact for patch availability.
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
Integer overflow occurs when an arithmetic operation produces a result that exceeds the maximum value a given integer type can store.
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
Remote unauthenticated denial of service in rust-libp2p Gossipsub affects versions prior to 0.49.5 and allows any peer t
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-76035
GHSA-gh9c-4324-26cm
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB