1 line
1.6 KiB
JSON
1 line
1.6 KiB
JSON
{"schema_version":"1.9.2","id":"RUSTSEC-2026-0535","published":"2026-03-18T12:00:00Z","modified":"2026-11-13T12:45:08.544187115Z","aliases":["CVE-2026-33040","GHSA-gc42-3jg7-rxr2"],"summary":"Remote panic from an oversized PRUNE backoff","details":"When a peer sent a PRUNE control message, the backoff it asked for was turned into an expiry time with `Instant::now() + Duration::from_secs(backoff)`. That addition panics on overflow, so a peer that sends a PRUNE with a very large backoff, such as `u64::MAX`, crashes the node. No authentication is needed beyond an ordinary libp2p connection with the gossipsub protocol, and the attacker can repeat it after every restart.\n\nThe fix uses `Instant::checked_add` in `BackoffStorage::update_backoff` and ignores a backoff that would overflow. It is in 0.49.3.","affected":[{"package":{"name":"libp2p-gossipsub","ecosystem":"crates.io","purl":"pkg:cargo/libp2p-gossipsub"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0.0.0-0"},{"fixed":"0.49.3"}]}],"ecosystem_specific":{"affected_functions":null,"affects":{"arch":[],"functions":[],"os":[]}},"database_specific":{"categories":["denial-of-service"],"cvss":null,"informational":null,"source":"https://github.com/rustsec/advisory-db/blob/osv/crates/RUSTSEC-2026-0535.json"}}],"references":[{"type":"PACKAGE","url":"https://crates.io/crates/libp2p-gossipsub"},{"type":"ADVISORY","url":"https://rustsec.org/advisories/RUSTSEC-2026-0535.html"},{"type":"WEB","url":"https://github.com/libp2p/rust-libp2p/commit/84153a559bdbcb92a48413dd2a31035800cb882d"}],"database_specific":{"license":"CC0-1.0"}} |