PT-2026-42028 · Npm+1 · @Libp2P/Kad-Dht+1
Published
2026-05-19
·
Updated
2026-06-11
·
CVE-2026-45783
CVSS v3.1
7.5
High
| Vector | AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
Name of the Vulnerable Software and Affected Versions
libp2p versions prior to 16.2.6
Description
An unauthenticated remote peer can cause disk storage exhaustion on any
@libp2p/kad-dht node operating in server mode. This occurs when an attacker sends an unbounded stream of PUT VALUE messages using crafted keys that bypass content validation. The issue stems from two defects: the verifyRecord() function silently accepts keys that split into fewer than three slash-delimited parts, and the RPC message loop lacks per-stream message limits, per-peer byte budgets, or rate limiting, resetting the inactivity timeout after every successful message.Technical details include:
- API Endpoints: The vulnerability affects the DHT RPC layer handling
PUT VALUEmessages. - Vulnerable Parameters or Variables: The
keyvariable within theLibp2pRecordis used to bypass validation if it contains fewer than two/characters. - Function Names: The
verifyRecord()function fails to reject invalid keys, and the RPC loop inpackages/kad-dht/src/rpc/index.tsallows unlimited message processing.
This can lead to the victim node's datastore filling up until the host disk is exhausted, rendering the node unavailable. This affects IPFS nodes, libp2p bootstrap nodes, and any application exposing a public DHT endpoint.
Recommendations
Update to version 16.2.6.
As a temporary mitigation, restrict access to the public DHT endpoint or disable server mode by setting
clientMode: true to prevent the processing of inbound streams.Exploit
Fix
Resource Exhaustion
RCE
Found an issue in the description? Have something to add? Feel free to write us 👾
Related Identifiers
Affected Products
@Libp2P/Kad-Dht
Js-Libp2P