Vulnerability 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.
CVSS Score
HIGH
Affected Products
| Vendor | Product | Versions |
|---|---|---|
| Russh Project | Russh | < 0.44.1 |
| Warpgate Project | Warpgate | < 0.10.2 |
Related Weaknesses (CWE)
References
- https://github.com/Eugeny/russh/commit/f660ea3f64b86d11d19e33076012069f02431e55Patch
- https://github.com/Eugeny/russh/security/advisories/GHSA-vgvv-x7xg-6cqgExploitVendor Advisory
FAQ
What is CVE-2024-43410?
CVE-2024-43410 is a vulnerability with a CVSS score of 7.5 (HIGH). 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, follo...
How severe is CVE-2024-43410?
CVE-2024-43410 has been rated HIGH with a CVSS base score of 7.5/10. Review the CVSS metrics above for detailed severity breakdown.
Is there a patch for CVE-2024-43410?
Check the references section above for vendor advisories and patch information. Affected products include: Russh Project Russh, Warpgate Project Warpgate.