Resource exhaustion in Eugeny Russh
CVE-2024-43410
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.
EPSS: 0.009 (58.3th percentile) — read the EPSS interpretation.
CVSS v3 metric
CVSS v3 base score 7.5 (High). Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H.
Affected products
- Eugeny Russh — versions < 0.44.1
- Russh_project Russh
- Warpgate_project Warpgate
Weakness classification (CWE)
References
- security-advisories@github.com (x_refsource_CONFIRM, Exploit, Vendor Advisory)
- security-advisories@github.com (Patch, x_refsource_MISC)
Frequently asked questions
- What is CVE-2024-43410?
- CVE-2024-43410 is a high-severity vulnerability in Eugeny Russh, classified under Allocation of Resources Without Limits or Throttling. CVSS score: 7.5/10. Published 2024-08-21.
- How severe is CVE-2024-43410?
- High severity. CVSS v3 base score is 7.5 out of 10.