CVE-2024-43410
Description
Russh is a Rust SSH client & server library. Allocating an untrusted amount of memory allows any unauthenticated user to OOM a russh server. An SSH packet consists of a 4-byte big-endian length, followed by a byte stream of this length. After parsing and potentially decrypting the 4-byte length, russh allocates enough memory for this bytestream, as a performance optimization to avoid reallocations later. But this length is entirely untrusted and can be set to any value by the client, causing this much memory to be allocated, which will cause the process to OOM within a few such requests. This vulnerability is fixed in 0.44.1.
How to fix
- russh_project russh0.44.1 or later
- warpgate_project warpgate0.10.2 or later
Affected products
| Product | Affected versions | Fixed in |
|---|---|---|
| russh_project russh | v < 0.44.1 | 0.44.1 |
| warpgate_project warpgate | v < 0.10.2 | 0.10.2 |
Check your version
Choose the product and enter the version you run to see whether it falls in the affected range.
Attack Surface Management
See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.