Skip to main content
← All vulnerabilities
CVE-2026-102821GHSA-35G8-35P8-C8FW

Russh: Unbounded memory exhaustion via CHANNEL_OPEN flood during a client-stalled rekey

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

Summary

Russh is a Rust SSH client and server library. Prior to 0.63.2, an authenticated remote peer can send SSH_MSG_KEXINIT without the required SSH_MSG_KEX_ECDH_INIT and then flood SSH_MSG_CHANNEL_OPEN messages while SessionKexState::InProgress prevents priority_receiver in russh/src/server/session.rs from being drained. The server continues processing network input and enqueues a ChannelOpenReply for each request on an unbounded channel, allowing one connection to grow memory until the process is terminated. This issue is fixed in version 0.63.2.

Timeline

  1. CVE published
  2. CISA SSVC assessment

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

  3. Record last updated

Affected versions

  • Eugeny russh

    fixed in 0.63.2

  • russhcrates.io

    fixed in 0.63.2

References 3

GitHub · Eugeny/russh