Russh has an OOM Denial of Service due to allocation of untrusted amount
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||
|---|---|---|---|---|---|---|---|---|---|
| Eugeny | russh | affected |
|
Configuration 1 [-]
|
No data.
No data available yet.
| Source | ID | Title |
|---|---|---|
EUVD |
EUVD-2024-2664 | 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. |
Github GHSA |
GHSA-vgvv-x7xg-6cqg | Russh has an OOM Denial of Service due to allocation of untrusted amount |
No CVSS v4.0
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.912% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Warpgate Project
Warpgate Project warpgate |
|
| CPEs | cpe:2.3:a:warpgate_project:warpgate:*:*:*:*:*:*:*:* | |
| Vendors & Products |
Warpgate Project
Warpgate Project warpgate |
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Russh Project
Russh Project russh |
|
| CPEs | cpe:2.3:a:russh_project:russh:*:*:*:*:*:rust:*:* | |
| Vendors & Products |
Russh Project
Russh Project russh |
|
| Metrics |
ssvc
|
| Type | Values Removed | Values Added |
|---|---|---|
| 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. | |
| Title | Russh has an OOM Denial of Service due to allocation of untrusted amount | |
| Weaknesses | CWE-770 | |
| References |
| |
| Metrics |
cvssV3_1
|