CVE-2026-86040

Published: September 17th, 2026
libp2p is a JavaScript implementation of the libp2p networking stack. Prior to 11.0.26, @libp2p/floodsub accepts unauthenticated RPC frames on /floodsub/1.0.0 through PeerStreams.attachInboundStream in packages/floodsub/src/peer-streams.ts without protobuf element limits, then processRpc and processRpcSubOpt in packages/floodsub/src/floodsub.ts synchronously process the subscriptions array without a per-frame cap. A single bounded-size frame can decode into millions of empty subscription entries that block the event loop, while hundreds of thousands of unique-topic SUBSCRIBE entries allocate PeerSet objects in this.topics that are not removed after peer removal or stop. Empty entries cause CPU exhaustion but do not grow this.topics; persistent memory growth requires unique topics. The subscription path bypasses message signature validation and the message-only processing queue, allowing a remote peer to cause sustained CPU denial of service, memory exhaustion, out-of-memory termination, and node unavailability. The issue is fixed in version 11.0.26.
HIGH
CVSS v3: 7.5

Status

DocFilters Release Package State Justification Comment
daily protobuf (3.0.0) Needs Triage
26.3 protobuf (3.0.0) Needs Triage
26.2 protobuf (3.0.0) Needs Triage
26.1 protobuf (3.0.0) Needs Triage
25.4 protobuf (3.0.0) Needs Triage
25.3 protobuf (3.0.0) Needs Triage
25.2 protobuf (3.0.0) Needs Triage
25.1 protobuf (3.0.0) Needs Triage
24.4 protobuf (3.0.0) Needs Triage
24.4.0 protobuf (3.0.0) Needs Triage
24.3 protobuf (3.0.0) Needs Triage
24.2 protobuf (3.0.0) Needs Triage
24.1 protobuf (3.0.0) Needs Triage
23.3 protobuf (3.0.0) Needs Triage
23.2 protobuf (3.0.0) Needs Triage
23.1 protobuf (3.0.0) Needs Triage
22.4 protobuf (3.0.0) Needs Triage
22.3 protobuf (3.0.0) Needs Triage
22.2 protobuf (3.0.0) Needs Triage
22.1 protobuf (3.0.0) Needs Triage
21.11 protobuf (3.0.0) Needs Triage
21.8 protobuf (3.0.0) Needs Triage
21.5.0 protobuf (3.0.0) Needs Triage
21.2.0 protobuf (3.0.0) Needs Triage
11.4.19.3667 protobuf (3.0.0) Needs Triage
11.4.18.3599 protobuf (3.0.0) Needs Triage
11.4.16.3445 protobuf (3.0.0) Needs Triage
11.4.15.3368 protobuf (3.0.0) Needs Triage
11.4.14.3263 protobuf (3.0.0) Needs Triage
11.4.13.3179 protobuf (3.0.0) Needs Triage
11.4.12.3054 protobuf (3.0.0) Needs Triage
11.4.11.3040 protobuf (3.0.0) Needs Triage
11.4.11.2990 protobuf (3.0.0) Needs Triage
11.4.10.2934 protobuf (3.0.0) Needs Triage
11.4.9.2878 protobuf (3.0.0) Needs Triage
11.4.8.2822 protobuf (3.0.0) Needs Triage

Severity score breakdown

Attack Complexity
LOW
Attack Vector
NETWORK
Availability Impact
HIGH
Base Score
7.5
Base Severity
HIGH
Confidentiality Impact
NONE
Integrity Impact
NONE
Privileges Required
NONE
Scope
UNCHANGED
User Interaction
NONE
Vector String
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Version
3.1

References