libp2p-gossipsub: Gossipsub PRUNE Backoff Heartbeat Instant Overflow
Platform
rust
Component
rust-libp2p
Fixed in
0.49.4
libp2p-rust is the official rust language Implementation of the libp2p networking stack. Prior to version 0.49.4, the Rust libp2p Gossipsub implementation contains a remotely reachable panic in backoff expiry handling. After a peer sends a crafted PRUNE control message with an attacker-controlled, near-maximum backoff value, the value is accepted and stored as an Instant near the representable upper bound. On a later heartbeat, the implementation performs unchecked Instant + Duration arithmetic (backoff_time + slack), which can overflow and panic with: overflow when adding duration to instant. This issue is reachable from any Gossipsub peer over normal TCP + Noise + mplex/yamux connectivity and requires no further authentication beyond becoming a protocol peer. This issue has been patched in version 0.49.4.
How to fix
Actualice la biblioteca rust-libp2p a la versión 0.49.4 o superior. Esta versión corrige la vulnerabilidad de desbordamiento aritmético en el manejo de expiración de backoff en Gossipsub. La actualización previene posibles panics remotos causados por mensajes PRUNE manipulados.
Monitor your dependencies automatically
Get notified when new vulnerabilities affect your projects. Free forever.
Start free