medium6.5
CVE-2026-102821
Russh: Unbounded memory exhaustion via CHANNEL_OPEN flood during a client-stalled rekey
Impact
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 packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| rust | russh | <= 0.63.1 | 0.63.2 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://github.com/advisories/GHSA-35g8-35p8-c8fw
- https://github.com/Eugeny/russh/security/advisories/GHSA-35g8-35p8-c8fw
- https://nvd.nist.gov/vuln/detail/CVE-2026-102821
- https://github.com/Eugeny/russh/commit/a282af361ac99bc76b80876d1aae128e89dbf66b
- https://github.com/Eugeny/russh/releases/tag/v0.63.2