Loading...
Skip to main content

CVE-2026-33040 — Vulnerability in libp2p-gossipsub — CVE Details

HIGH

Gossipsub PRUNE.backoff Duration Overflow

Published March 18, 2026Updated March 20, 2026Source: osv

Summary

### Summary The Rust libp2p Gossipsub implementation accepts attacker-controlled PRUNE backoff values and may perform unchecked time arithmetic when storing backoff state. A specially crafted PRUNE control message with an extremely large backoff (e.g. u64::MAX) can lead to Duration/Instant overflow during backoff update logic, triggering a panic in the networking state machine. This is remotely reachable over a normal libp2p connection and does not require authentication. ### Attack Scenario An attacker that can establish a libp2p Gossipsub session with a target node can crash the target by sending a single crafted PRUNE control message: 1. Establish a standard libp2p transport session and negotiate a stream multiplexer. 2. Open a Gossipsub stream and negotiate the meshsub protocol. 3. Send one protobuf RPC containing ControlPrune with a very large backoff value (e.g. 18446744073709551615 / u64::MAX). When processed, the oversized backoff can reach time-update logic that adds Duration::from_secs(backoff) to Instant::now(), causing overflow and panic. ### Impact Remote unauthenticated denial of service. Any application exposing a libp2p Gossipsub listener and using the affected backoff-handling path can be crashed by a network attacker that can reach the service port. The attack can be repeated by reconnecting and replaying the crafted control message. ### Patches Users should upgrade to a release that hardens Gossipsub backoff handling. This vulnerability was originally submitted by @revofusion to the Ethereum Foundation bug bounty program

Advisory Timeline

  • First published March 18, 2026 (208 days ago).
  • Last revised March 20, 2026 — 2 days after initial publication.

Remediation

Upgrade to the fixed version using your package manager.

Cargo
Update libp2p-gossipsub to 0.49.3 or later
cargo update -p libp2p-gossipsub --precise 0.49.3

After upgrading, run your dependency scanner again to confirm the vulnerability is resolved.

Affected Packages (1)

Affects 1 ecosystem: crates.io (1).

PackageEcosystemAffectedFixed In
libp2p-gossipsub
crates.io
All versions0.49.3

Vulnerability Classification

Common Weakness Enumeration (CWE) identifiers for this vulnerability type.

CVSS Score Breakdown

What the CVSS (Common Vulnerability Scoring System) 7.5 score means for each attack dimension.

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
—
Confidentiality
—
Integrity
—
Availability
—

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

Frequently Asked Questions

What is CVE-2026-33040?
Gossipsub PRUNE.backoff Duration Overflow This vulnerability has been assigned a severity rating of HIGH (CVSS score: 7.5/10).
How do I check if my project is affected by CVE-2026-33040?
CVE-2026-33040 affects libp2p-gossipsub. Use GeekWala's free vulnerability scanner to check your dependencies against CVE-2026-33040 and 200,000+ other known vulnerabilities.

Severity & Exploitability

CVSS Score
7.5

High exploitability or significant impact. Prioritize remediation within days.

Also Known As

GHSA-gc42-3jg7-rxr2

Related CVEs

  • CVE-2026-93657
    HIGH

    hickory-resolver: Resolver::lookup() and Resolver::lookup_ip() APIs obscure DNSSEC validation failures

  • CVE-2026-18140
    HIGH

    aws-smithy-json: Uncontrolled recursion in the aws-smithy-json unknown-key skip path allows unauthenticated remote denial of service in smithy-rs generated servers

  • CVE-2026-34219
    HIGH

    libp2p-gossipsub: Remote crash via unchecked Instant overflow in heartbeat backoff expiry handling

Check if you're affected

Scan your dependencies to see if this vulnerability affects your projects.

Scan Your Dependencies