Plattform
rust
Komponente
libp2p-gossipsub
Behoben in
0.49.5
0.49.4
CVE-2026-34219 describes a remotely exploitable panic vulnerability within the Rust libp2p-gossipsub library. A malicious peer can trigger this panic by sending a specially crafted PRUNE control message with a near-maximum backoff value, leading to an integer overflow during heartbeat processing. This vulnerability affects applications utilizing libp2p-gossipsub versions 0.49.0 through 0.49.3 and is addressed in version 0.49.4.
Die Gossipsub-Implementierung in Rust libp2p enthält einen aus der Ferne ausnutzbaren Panic in der Behandlung der 'backoff'-Ablaufzeit. Ein Angreifer kann eine speziell gestaltete PRUNE-Steuerungsnachricht mit einem vom Angreifer kontrollierten, nahezu maximalen 'backoff'-Wert senden. Dieser Wert wird akzeptiert und als Instant in der Nähe der oberen darstellbaren Grenze gespeichert. Anschließend führt die Implementierung bei einem Heartbeat eine ungeprüfte Instant + Duration-Arithmetik (backoff_time + slack) durch, was zu einem Überlauf und einem Panic führen kann. Dieser Panic kann den Netzwerkbetrieb stören und möglicherweise zu einem Denial-of-Service oder unvorhersehbarem Verhalten von Knoten führen, die libp2p verwenden. Die Schwere des Impacts hängt von der Kritikalität des Netzwerks und der Fehlertoleranz der Knoten ab.
Ein Angreifer, der die PRUNE-Nachrichten in einem libp2p-Netzwerk kontrolliert, kann diese Schwachstelle ausnutzen. Dies erfordert die Fähigkeit, Steuernachrichten an Netzwerk-Knoten zu senden. Die Ausnutzung ist relativ einfach und umfasst das Senden einer PRUNE-Nachricht mit einem sorgfältig ausgewählten 'backoff'-Wert. Die Effektivität der Ausnutzung hängt von der Netzwerkkonfiguration und der Fähigkeit des Angreifers ab, den Nachrichtenverkehr zu beeinflussen. Die Schwachstelle gilt als aus der Ferne ausnutzbar, da die PRUNE-Nachricht über das Netzwerk gesendet werden kann.
Applications and services that rely on the libp2p-gossipsub library for peer discovery and message routing are at risk. This includes decentralized applications (dApps), blockchain networks, and any system utilizing the libp2p networking stack. Specifically, systems with limited input validation on network messages are more vulnerable.
• rust: Examine application logs for panic messages containing overflow when adding duration to instant.
println!("Checking for panic messages: overflow when adding duration to instant");• linux / server: Monitor system logs (journalctl) for processes using libp2p-gossipsub that crash with the specified error.
journalctl -u your_libp2p_app -g "overflow when adding duration to instant"• generic web: Monitor network traffic for unusual patterns of PRUNE messages with extremely large backoff values. Use tools like Wireshark to inspect packet contents.
disclosure
Exploit-Status
EPSS
0.05% (17% Perzentil)
CISA SSVC
CVSS-Vektor
Die empfohlene Lösung ist ein Upgrade auf Version 0.49.4 von libp2p oder höher. Diese Version behebt die Schwachstelle, indem vor der Durchführung der Instant + Duration-Operation eine Überprüfung auf Überlauf eingeführt wird. In der Zwischenzeit wird als vorübergehende Maßnahme empfohlen, libp2p-Knoten auf unerwartete Panics zu überwachen und die Exposition der Knoten gegenüber nicht vertrauenswürdigen Netzwerken zu begrenzen. Netzwerkbetreiber, die libp2p verwenden, sollten ihre Konfiguration überprüfen und sicherstellen, dass Knoten ordnungsgemäß isoliert und vor bösartigen Nachrichten geschützt sind. Das Upgrade ist der effektivste Weg, das Risiko zu mindern.
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.
Schwachstellenanalysen und kritische Warnungen direkt in deinen Posteingang.
Gossipsub ist ein Gerüchteverbreitungsprotokoll, das in Peer-to-Peer-Netzwerken verwendet wird, um Informationen effizient und robust zu verteilen.
Version 0.49.4 behebt die Panic-Schwachstelle in der 'backoff'-Behandlung und verhindert so potenzielle Denial-of-Service-Angriffe und unvorhersehbares Verhalten.
Überwachen Sie Ihre libp2p-Knoten auf unerwartete Panics und begrenzen Sie die Exposition gegenüber nicht vertrauenswürdigen Netzwerken als vorübergehende Maßnahme.
Wenn Sie eine Version von libp2p vor 0.49.4 verwenden, sind Sie anfällig. Überprüfen Sie die installierte Version mit dem Befehl cargo version oder einem ähnlichen Befehl.
Konsultieren Sie die Rust libp2p-Website oder Vulnerability-Datenbanken wie CVE, um Informationen über andere bekannte Schwachstellen zu erhalten.
Lade deine Abhängigkeitsdatei hoch und erfahre sofort, ob dich diese und andere CVEs treffen.
Lade deine Cargo.lock-Datei hoch und wir sagen dir sofort, ob du betroffen bist.