Memory-amplification DoS vulnerability patched in py-libp2p WebRTC signaling server

A denial-of-service vulnerability was discovered and fixed in py-libp2p, the Python implementation of the libp2p peer-to-peer networking stack used by IPFS, Filecoin, and Ethereum nodes. The flaw resided in a minimal HTTP server handling SDP offer exchanges for WebRTC-Direct transport, where the POST /sdp endpoint read caller-supplied Content-Length values with no upper bound, allowing attackers to force the process to buffer gigabytes of data into memory before any authentication occurred. A malicious 1 GiB request could push resident memory past 2 GB, while four concurrent 300 MiB requests consumed over 1.5 GB, with no mechanism to reject oversized input. The fix, merged on August 14, 2026 via pull request #1396, introduces bounded constants capping accepted body size at 32 KiB and rejecting oversized requests within 0.3 milliseconds. The vulnerability was flagged during a code review of a WebRTC pull request, where a comment about unbounded memory reads was initially easy to dismiss as a style issue rather than an exploitable security flaw.
This is an AI-generated summary. ShortSingh links to the original source for the complete article.
Discussion (0)
Log in to join the discussion and vote.
Log in