PT-2024-25032 · Yamux · Yamux
Agemanning
+1
·
Published
2024-05-01
·
Updated
2024-05-02
·
CVE-2024-32984
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
Yamux (affected versions not specified)
Description
Yamux is a stream multiplexer over reliable, ordered connections such as TCP/IP. The Rust implementation of the Yamux stream multiplexer uses a vector for pending frames, which is not bounded in length. This vector can be remotely triggered to grow indefinitely by opening a new libp2p Identify stream or sending a Yamux Ping frame, causing the node to send its Identify message or a Pong frame, respectively. An attacker can use TCP's receive window mechanism to prevent the victim from sending out any data, leading to a memory overflow. This can result in the corresponding process getting terminated by the operating system. Depending on the application protocols running on top of rust-libp2p, higher amplification factors are possible, and the attack also drives up the victim's CPU load.
Recommendations
At the moment, there is no information about a newer version that contains a fix for this vulnerability.
Exploit
Resource Exhaustion
Found an issue in the description? Have something to add? Feel free to write us 👾
Weakness Enumeration
Related Identifiers
Affected Products
Yamux