Home

Description

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.

PUBLISHED Reserved 2026-03-26 | Published 2026-03-31 | Updated 2026-03-31 | Assigner GitHub_M




HIGH: 8.2CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N

Problem types

CWE-190: Integer Overflow or Wraparound

CWE-617: Reachable Assertion

Product status

< 0.49.4
affected

References

github.com/...libp2p/security/advisories/GHSA-xqmp-fxgv-xvq5

cve.org (CVE-2026-34219)

nvd.nist.gov (CVE-2026-34219)

Download JSON