Vulnerability Details CVE-2026-33040
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.
Exploit prediction scoring system (EPSS) score
EPSS Score 0.001
EPSS Ranking 15.3%
CVSS Severity
CVSS v3 Score 7.5
Products affected by CVE-2026-33040
-
cpe:2.3:a:protocol:libp2p:0.1.0
-
cpe:2.3:a:protocol:libp2p:0.10.0
-
cpe:2.3:a:protocol:libp2p:0.11.0
-
cpe:2.3:a:protocol:libp2p:0.12.0
-
cpe:2.3:a:protocol:libp2p:0.13.0
-
cpe:2.3:a:protocol:libp2p:0.13.1
-
cpe:2.3:a:protocol:libp2p:0.13.2
-
cpe:2.3:a:protocol:libp2p:0.14.0
-
cpe:2.3:a:protocol:libp2p:0.15.0
-
cpe:2.3:a:protocol:libp2p:0.16.0
-
cpe:2.3:a:protocol:libp2p:0.16.1
-
cpe:2.3:a:protocol:libp2p:0.16.2
-
cpe:2.3:a:protocol:libp2p:0.17.0
-
cpe:2.3:a:protocol:libp2p:0.18.0
-
cpe:2.3:a:protocol:libp2p:0.18.1
-
cpe:2.3:a:protocol:libp2p:0.19.0
-
cpe:2.3:a:protocol:libp2p:0.19.1
-
cpe:2.3:a:protocol:libp2p:0.2.0
-
cpe:2.3:a:protocol:libp2p:0.2.1
-
cpe:2.3:a:protocol:libp2p:0.2.2
-
cpe:2.3:a:protocol:libp2p:0.20.0
-
cpe:2.3:a:protocol:libp2p:0.20.1
-
cpe:2.3:a:protocol:libp2p:0.21.0
-
cpe:2.3:a:protocol:libp2p:0.21.1
-
cpe:2.3:a:protocol:libp2p:0.22.0
-
cpe:2.3:a:protocol:libp2p:0.23.0
-
cpe:2.3:a:protocol:libp2p:0.24.0
-
cpe:2.3:a:protocol:libp2p:0.25.0
-
cpe:2.3:a:protocol:libp2p:0.26.0
-
cpe:2.3:a:protocol:libp2p:0.27.0
-
cpe:2.3:a:protocol:libp2p:0.28.0
-
cpe:2.3:a:protocol:libp2p:0.28.1
-
cpe:2.3:a:protocol:libp2p:0.29.0
-
cpe:2.3:a:protocol:libp2p:0.29.1
-
cpe:2.3:a:protocol:libp2p:0.3.0
-
cpe:2.3:a:protocol:libp2p:0.3.1
-
cpe:2.3:a:protocol:libp2p:0.30.0
-
cpe:2.3:a:protocol:libp2p:0.30.1
-
cpe:2.3:a:protocol:libp2p:0.31.0
-
cpe:2.3:a:protocol:libp2p:0.31.1
-
cpe:2.3:a:protocol:libp2p:0.31.2
-
cpe:2.3:a:protocol:libp2p:0.32.0
-
cpe:2.3:a:protocol:libp2p:0.32.1
-
cpe:2.3:a:protocol:libp2p:0.32.2
-
cpe:2.3:a:protocol:libp2p:0.33.0
-
cpe:2.3:a:protocol:libp2p:0.34.0
-
cpe:2.3:a:protocol:libp2p:0.35.0
-
cpe:2.3:a:protocol:libp2p:0.35.1
-
cpe:2.3:a:protocol:libp2p:0.36.0
-
cpe:2.3:a:protocol:libp2p:0.37.0
-
cpe:2.3:a:protocol:libp2p:0.37.1
-
cpe:2.3:a:protocol:libp2p:0.38.0
-
cpe:2.3:a:protocol:libp2p:0.39.0
-
cpe:2.3:a:protocol:libp2p:0.39.1
-
cpe:2.3:a:protocol:libp2p:0.4.0
-
cpe:2.3:a:protocol:libp2p:0.4.1
-
cpe:2.3:a:protocol:libp2p:0.4.2
-
cpe:2.3:a:protocol:libp2p:0.40.0
-
cpe:2.3:a:protocol:libp2p:0.41.0
-
cpe:2.3:a:protocol:libp2p:0.41.1
-
cpe:2.3:a:protocol:libp2p:0.41.2
-
cpe:2.3:a:protocol:libp2p:0.42.0
-
cpe:2.3:a:protocol:libp2p:0.42.1
-
cpe:2.3:a:protocol:libp2p:0.42.2
-
cpe:2.3:a:protocol:libp2p:0.43.0
-
cpe:2.3:a:protocol:libp2p:0.44.0
-
cpe:2.3:a:protocol:libp2p:0.45.0
-
cpe:2.3:a:protocol:libp2p:0.45.1
-
cpe:2.3:a:protocol:libp2p:0.46.0
-
cpe:2.3:a:protocol:libp2p:0.46.1
-
cpe:2.3:a:protocol:libp2p:0.47.0
-
cpe:2.3:a:protocol:libp2p:0.48.0
-
cpe:2.3:a:protocol:libp2p:0.49.0
-
cpe:2.3:a:protocol:libp2p:0.5.0
-
cpe:2.3:a:protocol:libp2p:0.6.0
-
cpe:2.3:a:protocol:libp2p:0.7.0
-
cpe:2.3:a:protocol:libp2p:0.7.1
-
cpe:2.3:a:protocol:libp2p:0.8.0
-
cpe:2.3:a:protocol:libp2p:0.8.1
-
cpe:2.3:a:protocol:libp2p:0.9.0
-
cpe:2.3:a:protocol:libp2p:0.9.1
-
cpe:2.3:a:protocol:libp2p:0.9.2