Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1336 CNY

100%

CVE-2026-86040— libp2p: Unbounded RPC decode + synchronous subscription processing in @libp2p/floodsub allows unauthenticated DoS

Quick assessment

Affected
libp2p js-libp2p
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

libp2p 是 libp2p 网络栈的 JavaScript 实现。在 11.0.26 之前, 通过 (位于 )在 端点接受未经身份验证的 RPC 帧,且未对 protobuf 元素施加限制。随后, 中的 和 函数同步处理 数组,且每帧没有设置数量上限。 一个尺寸受限的单帧可被解码为数百万个空的订阅条目,从而阻塞事件循环;而数十万个具有唯一主题的 SUBSCRIBE 条目则会在 中分配 对象,且在移除对等节点或停止时不会将这些对象移除。空条目会导致 CPU 耗尽,但不会导致 增长;要引发持续的内存增长,需要具有唯

CVSS 7.5 · High

Possible ATT&CK Techniques 1 AI

T1499 · Endpoint Denial of Service
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-86040

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
libp2p: Unbounded RPC decode + synchronous subscription processing in @libp2p/floodsub allows unauthenticated DoS
Source: CVE Program / CVE List V5
Vulnerability Description
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.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Source: CVE Program / CVE List V5
Vulnerability Type
未加控制的资源消耗(资源穷尽)
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
libp2p js-libp2p < 11.0.26 -
@libp2p floodsub < 11.0.26 -

II. Public POCs for CVE-2026-86040

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-86040

登录查看更多情报信息。

Patches & Fixes for CVE-2026-86040 (2)

Vendor Advisories for CVE-2026-86040 (1)

Vendor Pages for CVE-2026-86040 (1)

Same Patch Batch · libp2p · 2026-09-17 · 3 CVEs total

CVE-2026-86039 8.2 HIGH libp2p: PeerStore accepts attacker-signed PeerRecords for a victim peer ID and stores cert
CVE-2026-86038 7.5 HIGH libp2p: Gossipsub StrictSign accepts attacker-signed messages as a victim RSA peer ID

IV. Related Vulnerabilities

V. Comments for CVE-2026-86040

No comments yet


Leave a comment