Plateforme
rust
Composant
libp2p-gossipsub
Corrigé dans
0.49.5
0.49.4
CVE-2026-34219 est une vulnérabilité dans l'implémentation Rust de libp2p-gossipsub. Elle permet à un attaquant de provoquer une panique à distance via un message PRUNE spécialement conçu. L'impact est une potentielle interruption de service. La vulnérabilité affecte les versions de libp2p-gossipsub. La version 0.49.4 corrige cette vulnérabilité.
L'implémentation Gossipsub de Rust libp2p contient un pánico exploitable à distance dans la gestion de l'expiration du 'backoff'. Un attaquant peut envoyer un message de contrôle PRUNE spécialement conçu avec une valeur de 'backoff' contrôlée par l'attaquant, proche du maximum autorisé. Cette valeur est acceptée et stockée en tant que Instant près de la limite supérieure représentable. Par la suite, pendant un 'heartbeat', l'implémentation effectue une arithmétique Instant + Duration non vérifiée (backoff_time + slack), ce qui peut provoquer un dépassement de capacité et un pánico. Ce pánico peut perturber le fonctionnement du réseau, entraînant potentiellement un déni de service ou un comportement imprévisible des nœuds utilisant libp2p. La gravité de l'impact dépend de la criticité du réseau et de la tolérance aux pannes des nœuds.
Un attaquant qui contrôle les messages PRUNE dans un réseau libp2p peut exploiter cette vulnérabilité. Cela nécessite la capacité d'envoyer des messages de contrôle aux nœuds du réseau. L'exploitation est relativement simple, impliquant l'envoi d'un message PRUNE avec une valeur de 'backoff' soigneusement choisie. L'efficacité de l'exploitation dépend de la configuration du réseau et de la capacité de l'attaquant à influencer le trafic de messages. La vulnérabilité est considérée comme exploitable à distance car le message PRUNE peut être envoyé sur le réseau.
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
Statut de l'Exploit
EPSS
0.05% (percentile 17%)
CISA SSVC
Vecteur CVSS
La solution recommandée est de mettre à niveau vers la version 0.49.4 de libp2p ou supérieure. Cette version corrige la vulnérabilité en introduisant une vérification de dépassement de capacité avant d'effectuer l'opération Instant + Duration. En attendant, comme mesure temporaire, il est recommandé de surveiller de près les nœuds libp2p à la recherche de pánicos inattendus et de limiter l'exposition des nœuds aux réseaux non fiables. Les opérateurs de réseau utilisant libp2p doivent examiner leur configuration et s'assurer que les nœuds sont correctement isolés et protégés contre les messages malveillants. La mise à niveau est le moyen le plus efficace d'atténuer le risque.
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.
Analyses de vulnérabilités et alertes critiques directement dans votre boîte mail.
Gossipsub est un protocole de propagation de rumeurs utilisé dans les réseaux peer-to-peer pour distribuer des informations de manière efficace et robuste.
La version 0.49.4 corrige la vulnérabilité de pánico dans la gestion du 'backoff', empêchant ainsi les dénis de service potentiels et les comportements imprévisibles.
Surveillez vos nœuds libp2p à la recherche de pánicos inattendus et limitez l'exposition aux réseaux non fiables comme mesure temporaire.
Si vous utilisez une version de libp2p antérieure à 0.49.4, vous êtes vulnérable. Vérifiez la version installée à l'aide de la commande cargo version ou similaire.
Consultez le site web de Rust libp2p ou les bases de données de vulnérabilités comme CVE pour obtenir des informations sur d'autres vulnérabilités connues.
Téléverse ton fichier de dépendances et découvre instantanément si cette CVE et d'autres te touchent.
Téléverse ton fichier Cargo.lock et nous te dirons instantanément si tu es affecté.