[ CVE-2026-102821 · Published 29 Sep 2026 ]

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

CVSS 6.5 EPSS <1%Fix available

[ Why it matters ]Priority signals

  • Public proof-of-concept exploit exists (CISA SSVC)

[ Description ]Official description

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.

[ Fixes ]Fixes and patches

  • russh 0.63.2Fixed version · GitHub Advisories · rust package russh: upgrade to 0.63.2 or later (affected <= 0.63.1)

[ Packages ]Affected open-source packages