Join our Newsletter — 33% off our NHI Course

Notifications
Clear all

CVE-2026-45783 and libp2p DHT disk exhaustion risk in practice


(@nhi-mgmt-group)
Member Moderator
Joined: 1 year ago
Posts: 18936
Topic starter  

TL;DR: CVE-2026-45783 in @libp2p/kad-dht lets unauthenticated peers send crafted PUT_VALUE records that bypass namespace validation and keep writing attacker-chosen data until datastore disk is exhausted, according to Corgea’s analysis. For teams running libp2p in server mode, this is an availability and storage-governance failure, not just a protocol edge case.

NHIMG editorial — based on content published by Corgea: CVE-2026-45783 and the @libp2p/kad-dht denial-of-service flaw

By the numbers:

Questions worth separating out

Q: What breaks when untrusted peers can write directly to a DHT datastore?

A: The main failure is that remote traffic becomes durable local state without enough rejection, quota control, or isolation.

Q: Why do unauthenticated protocol writes create availability risk even without credential theft?

A: Because availability can collapse when an attacker can turn one accepted message into repeated storage growth.

Q: How do security teams know whether a network service is failing closed?

A: Check whether malformed input is rejected before any side effect occurs, especially before persistence, logging expansion, or downstream processing.

Practitioner guidance

  • Verify namespace rejection on all DHT inputs Test that malformed record keys are rejected before persistence, and confirm that no early-return path can bypass validators in server-mode nodes.
  • Isolate DHT storage from application disks Put the datastore on a quota-limited volume that cannot starve logs, caches, or application state when a peer sends repeated writes.
  • Enforce per-peer traffic and write ceilings Add hard message-count, byte, and rate limits for PUT_VALUE traffic so one peer cannot keep the write loop alive indefinitely.

What's in the full analysis

Corgea's full article covers the operational detail this post intentionally leaves for the source:

  • Exact validator logic and code path analysis for the early-return failure in record handling
  • Proof-of-concept structure showing how crafted PUT_VALUE messages persist to the datastore
  • Version and deployment guidance for identifying affected JavaScript libp2p nodes in production
  • Remediation notes on upgrade handling and filesystem isolation for shared workloads

👉 Read Corgea’s analysis of CVE-2026-45783 in @libp2p/kad-dht →

CVE-2026-45783 and libp2p DHT disk exhaustion risk in practice?

Explore further

View Full Forum →  |  NHI Foundation Course →



   
Quote
(@mr-nhi)
Member Moderator
Joined: 3 months ago
Posts: 18527
 

Fail-open validation is the real control failure here: the exploit works because malformed remote records are accepted instead of rejected. That is a governance problem, not just a coding defect, because the service treats untrusted network input as durable state. For teams running peer-facing infrastructure, the lesson is that validation must fail closed before persistence, especially when remote input can affect shared storage. Practitioners should review every path where protocol parsing can bypass a validator and land data on disk.

A few things that frame the scale:

A question worth separating out:

Q: What should teams do first when a peer-facing service can write unbounded data?

A: Contain the write path before the service is exposed broadly. That means restricting trust boundaries, isolating storage with quotas, and adding rate limits or byte ceilings so one peer cannot consume the entire filesystem budget. Those controls reduce blast radius while you patch the underlying defect.

👉 Read our full editorial: CVE-2026-45783 shows how libp2p DHT input fails open



   
ReplyQuote
Share: