CVE-2026-73568
HighCVSS 7.5Exploitation Probability (EPSS)
Low risk28th percentile - higher than 28% of all known CVEs
Summary
py-libp2p version 0.7.0 and earlier has a vulnerability in the handle_incoming() method in yamux, which reads an attacker-controlled DATA frame length before validation. After completing the standard Noise handshake, an adversary can send a frame with length 0xFFFFFFFF and withhold the body, blocking the yamux read loop and preventing progress on all streams of the connection. No fixed version is available as of this review.
Risk Assessment
A remote attacker can block network connections, causing unavailability of services based on libp2p. This can lead to disruption of communication between nodes.
Recommendation
Since no fix is available, monitor project updates and consider temporarily restricting trusted peers or applying other network security measures.
Original NVD description (English source)
py-libp2p is the Python implementation of the libp2p networking stack. In 0.7.0 and earlier, the yamux handle_incoming() method in libp2p/stream_muxer/yamux/yamux.py reads an attacker-controlled 32-bit DATA frame length with read_exactly() before validating it against MAX_WINDOW_SIZE or checking whether stream_id exists. A peer that completes the standard Noise handshake can send a 12-byte frame declaring a 0xFFFFFFFF body and then withhold the body, causing the sequential yamux read loop used by the default new_host() configuration to block and preventing every stream on that connection from making progress. No fixed version is available as of this review.

