Skip to content
OpenAdvisories
Medium · 6.5 CVE-2026-102821 EUVD-2026-89204GHSA-35g8-35p8-c8fw

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

Published Sep 29, 2026 · Updated Sep 30, 2026 · Assigned by GitHub_M

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.

Affected products

VendorProductAffectedFixed
Eugeny russh < 0.63.2 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 rust-russh 0.64.1-1 —
ReleasePackageFixed inAdvisory
Ubuntu 26.10 rust-russh No fix yet —
ReleasePackageFixed inAdvisory
Red Hat Hardened Images 1 openshell +2 0.1.2-0.2.hum1 RHSA-2026:74586

Wolfi

ReleasePackageFixed inAdvisory
Wolfi rolling yazi 26.9.1-r1 —

Affected packages

EcosystemPackageAffectedFixedRecord
crates.io russh < 0.63.2 0.63.2 GHSA-35g8-35p8-c8fw

Advisories 1

References