Skip to main content

CVE-2026-33040

HIGH
Integer Overflow or Wraparound (CWE-190)
2026-03-18 https://github.com/libp2p/rust-libp2p GHSA-gc42-3jg7-rxr2
8.7
CVSS 4.0 · GitHub Advisory
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Establish libp2p Gossipsub connection
  2. Delivery
    Craft PRUNE message with u64::MAX backoff
  3. Exploit
    Trigger Duration/Instant overflow
  4. Execution
    Panic networking state machine
  5. Impact
    Crash target node

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2021 - Vulnerable and Outdated Components
ASVS 5.0
V15 - Secure Coding and Architecture Integer overflow checks
MITRE ATT&CK

1 technique across 1 tactic: Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Remote unauthenticated attacker establishing libp2p Gossipsub session with target node running Rust libp2p. Attacker sends crafted PRUNE control message with extremely large backoff value (e.g., u64::MAX). No victim interaction required. Affects default Gossipsub configurations.

Impact

This vulnerability presents a significant real-world risk despite the absence of traditional CVSS scoring. The attack vector is network-based with no authentication required and minimal attack complexity—a single malformed message triggers the crash. The detailed proof-of-concept published in the GitHub security advisory (GHSA-gc42-3jg7-rxr2) provides step-by-step instructions for exploitation, significantly lowering the barrier to weaponization. The impact is limited to availability (denial of service via panic), but the attack is repeatable and automatable, allowing persistent disruption of affected services. Given the widespread use of libp2p in critical blockchain infrastructure (Ethereum consensus clients) and decentralized storage systems (IPFS), the blast radius could be substantial. While no EPSS score or KEV listing is available, the combination of proof-of-concept availability, zero authentication requirements, and critical infrastructure deployment makes this a genuine operational priority for organizations running libp2p Gossipsub services. Under SSVC framework, this rates high for exploitation potential (POC public) and technical impact (service crash).

Exploit ScenarioDerived

An attacker identifies an Ethereum consensus client or IPFS node running vulnerable libp2p-gossipsub by scanning for exposed libp2p ports. The attacker establishes a standard libp2p connection, negotiates the Gossipsub protocol stream, and sends a single crafted protobuf RPC message containing a ControlPrune with backoff set to u64::MAX (18446744073709551615). The target node's Gossipsub implementation attempts to add this massive duration to the current time instant, triggering an integer overflow panic that crashes the networking stack and takes the node offline. The attacker can repeat this attack immediately upon reconnection to maintain persistent denial of service.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Mar 18, 2026

The Rust libp2p Gossipsub implementation contains an integer overflow vulnerability that allows remote unauthenticated attackers to crash affected nodes by sending a single crafted PRUNE control message with an extremely large backoff value (e.g., u64::MAX). The vulnerability affects the libp2p-gossipsub Rust crate and enables trivial denial of service against any application exposing a Gossipsub listener. This vulnerability was discovered through responsible disclosure to the Ethereum Foundation bug bounty program by @revofusion, and while no active exploitation (KEV) status is indicated, the attack complexity is extremely low and a detailed proof-of-concept attack scenario has been publicly disclosed in the advisory.

RemediationAI

Users of libp2p-gossipsub should immediately upgrade to a patched release that includes hardened Gossipsub backoff handling, as recommended in the GitHub security advisory at https://github.com/libp2p/rust-libp2p/security/advisories/GHSA-gc42-3jg7-rxr2. Consult the libp2p Rust project release notes and the advisory for specific version numbers containing the fix. Until patching is possible, organizations can temporarily mitigate risk by implementing network-level controls such as restricting Gossipsub listener access to trusted peer networks only, deploying connection rate limiting to slow repeated attack attempts, or running affected services behind firewalls that filter connections to known-good peers. Given the low attack complexity and availability of a detailed exploit scenario, patching should be prioritized over workarounds for production systems.

Affected Packages

cargo libp2p-gossipsub fix: 0.49.3

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in cargo

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The affected component is the Rust implementation of libp2p Gossipsub (pkg:rust/libp2p-gossipsub), a pub-sub messaging protocol commonly used in peer-to-peer networks including Ethereum and IPFS infrastructure. The root cause is classified as CWE-190 (Integer Overflow or Wraparound). The vulnerability exists in the backoff handling logic where the implementation accepts attacker-controlled backoff values from PRUNE control messages without proper validation. When an extremely large backoff value is processed, the code performs unchecked arithmetic by adding Duration::from_secs(backoff) to Instant::now(), causing a panic due to Duration or Instant overflow in Rust's time handling primitives. The libp2p protocol stack uses a stream multiplexer over standard transports, and Gossipsub operates as a protocol-negotiated stream within that framework, making this reachable through normal network connections without authentication requirements.

Know when the next one hits your stack

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

GitHub Advisory PRIMARY 8.7 HIGH
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

Primary rating from GitHub Advisory · only source for this CVE.

CVSS VectorGitHub Advisory

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

3
CVSS changed
Apr 30, 2026 - 19:22 NVD
7.5 (HIGH) 8.7 (HIGH)
Patch released
Mar 31, 2026 - 21:13 nvd
Patch available
CVE Published
Mar 18, 2026 - 19:54 nvd
HIGH 7.5

DescriptionGitHub Advisory

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

Executive ViewAI

Why It Matters

A critical vulnerability in the Rust libp2p Gossipsub networking library allows attackers to crash applications with a single malicious message, potentially disrupting any service using this component for peer-to-peer communication. Organizations running blockchain nodes, distributed applications, or services built on libp2p face immediate denial-of-service risk until patches are available.

Business Impact: High
Compensating Controls

Network segmentation to restrict Gossipsub listener access to known, trusted peers only; firewall rules to rate-limit or block inbound Gossipsub protocol messages from untrusted sources; disable Gossipsub functionality if not operationally required; implement traffic monitoring and alerting on PRUNE message patterns; consider running affected services behind load balancers or API gateways that can absorb or filter malformed messages; maintain up-to-date monitoring for patch release from the libp2p maintainers.

Threat Intelligence Overview

EPSS Score
0.1%
Top 85% exploitable
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
High

Priority Score

44
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Integer overflow occurs when an arithmetic operation produces a result that exceeds the maximum value a given integer type can store.

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

Affected Products (CPE)GitHub Advisory

pkg:rust/libp2p-gossipsub

Related Vulnerabilities in gRPC Authorization and Header Bypass

View all 2

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy