RUSTSEC-2026-0535

Source
https://rustsec.org/advisories/RUSTSEC-2026-0535
Import Source
https://github.com/rustsec/advisory-db/blob/osv/crates/RUSTSEC-2026-0535.json
JSON Data
https://api.osv.dev/v1/vulns/RUSTSEC-2026-0535
Aliases
Published
2026-03-18T12:00:00Z
Modified
2026-11-13T12:45:08Z
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.

The fix uses Instant::checked_add in BackoffStorage::update_backoff and ignores a backoff that would overflow. It is in 0.49.3.

Database specific
{
    "license": "CC0-1.0"
}
References

Affected packages

crates.io / libp2p-gossipsub

Package

Name
libp2p-gossipsub
View open source insights on deps.dev
Purl
pkg:cargo/libp2p-gossipsub

Affected 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"