CVE-2024-43410CWE-770

Russh has an OOM Denial of Service due to allocation of untrusted amount

High · published August 21, 2024

CVSS v3.1
7.5
EPSS
1%
Percentile
59.7
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS v3.1
7.5 · HIGH
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00912 · 59.7th percentile
Weakness
CWE-770 · Allocation of Resources Without Limits or Throttling
Published
2024-08-21T15:09Z
EPSS history
Timeline
  • 21 AUG 15:09Z
    Russh has an OOM Denial of Service due to allocation of untrusted amount
    cvelistv5