libp2p-rust: Gossipsub PRUNE.backoff Duration Overflow
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Attack requirements
- None
- Impact type
- Denial of service
- Confidentiality · integrity · availability
- None · None · High
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA and GitHub. Impact type from CWE-190 and the CVSS impact.
Summary
libp2p-rust is the official rust language Implementation of the libp2p networking stack. In versions prior to 0.49.3, the Gossipsub implementation accepts attacker-controlled PRUNE backoff values and may perform unchecked time arithmetic when storing backoff state. A specially crafted PRUNE control message with an extremely large backoff (e.g. u64::MAX) can lead to Duration/Instant overflow during backoff update logic, triggering a panic in the networking state machine. This is remotely reachable over a normal libp2p connection and does not require authentication. Any application exposing a libp2p Gossipsub listener and using the affected backoff-handling path can be crashed by a network attacker that can reach the service port. The attack can be repeated by reconnecting and replaying the crafted control message. This issue has been fixed in version 0.49.3.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- Yes
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| libp2p | rust-libp2p | before 0.49.3 | 0.49.3 | Patch available | CNA |
| — | libp2p-gossipsub (crates.io) | before 0.49.3 | 0.49.3 | Patch available | GHSA-gc42-3jg7-rxr2 |
- rust-libp2p Vendorlibp2p Affected before 0.49.3 Fixed in 0.49.3 Patch available CNA
- libp2p-gossipsub (crates.io) Vendor— Affected before 0.49.3 Fixed in 0.49.3 Patch available GHSA-gc42-3jg7-rxr2
Remediation
- Fix · CNA rust-libp2p (libp2p) Fixed in 0.49.3
- Fix · GHSA-gc42-3jg7-rxr2 libp2p-gossipsub (crates.io) Fixed in 0.49.3 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-33040
- 2026-10-03 Alias added: GHSA-gc42-3jg7-rxr2
References
More libp2p vulnerabilities
- TI-2026-60386 libp2p-rendezvous through 0.17.1 Denial of Service via Unbounded Registration TTL in Discovery Responses CVSS 4.0HIGH 8.7
- TI-2026-58865 libp2p: PeerStore accepts attacker-signed PeerRecords for a victim peer ID and stores certified attacker addresses CVSS 3.1HIGH 8.2
- TI-2026-44102 libp2p-quic: Remote panic via certificate expiry race during QUIC handshake CVSS 4.0HIGH 8.2
- TI-2026-27587 libp2p-rust has unbounded rendezvous DISCOVER cookies enable remote memory exhaustion CVSS 3.1HIGH 8.2
- TI-2026-58864 libp2p: Gossipsub StrictSign accepts attacker-signed messages as a victim RSA peer ID CVSS 3.1HIGH 7.5
- TI-2026-53982 libp2p: Circuit relay v2 server reservation refresh leaks abort listeners and allows remote resource exhaustion CVSS 3.1HIGH 7.5
Sources
- CVE-2026-33040 · CVE Program
- CVE-2026-33040 · NVD
- FIRST EPSS
- GHSA-gc42-3jg7-rxr2 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences