Skip to main content
← All vulnerabilities
CVE-2024-43410GHSA-VGVV-X7XG-6CQG

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

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 0.44.1
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: poc
  • Automatable: yes
  • Technical impact: partial

Summary

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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: poc · Automatable: yes · Technical impact: partial

  3. Record last updated

Affected versions

  • Eugeny russh

    fixed in 0.44.1

  • russhcrates.io

    fixed in 0.44.1

References 2

GitHub · Eugeny/russh