libp2p: yamux connection DoS via oversized data frame
Affects libp2pSource GCVE Database
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:HWhat to do
AI-suggested
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. Until an official fix is available, users should consider disabling yamux or applying custom validation of frame lengths if possible. Monitoring for unusually large frame length values and implementing timeouts around frame reads could mitigate impact. No official patch or workaround is documented in the provided data.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| PyPIlibp2p | Affected
| Fixed in– |
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
Description
A denial-of-service vulnerability exists in the yamux stream multiplexer implementation of py-libp2p (<=0.6.0). The vulnerability arises because the code does not validate incoming DATA frame lengths against the receive window before reading the frame body. An attacker can send a single frame claiming a very large body (up to 4 GB), causing the victim's yamux read loop to block indefinitely and stall all streams on that connection. This requires no special setup beyond completing a standard libp2p handshake.