CVE-2026-102823
CVE-2026-102823 · russh: Client-side channel-scoped Handler callbacks fire for channel IDs the client never opened
This page contains facts from public vulnerability sources. Check the original advisory before updating.
Russh is a Rust SSH client and server library. Prior to 0.63.1, client_read_authenticated in russh/src/client/encrypted.rs forwards CHANNEL_DATA, CHANNEL_EXTENDED_DATA, CHANNEL_EOF, CHANNEL_CLOSE, CHANNEL_OPEN_FAILURE, CHANNEL_SUCCESS, CHANNEL_FAILURE, and CHANNEL_REQUEST subtypes exit-status, exit-signal, and xon-xoff to public client::Handler callbacks without confirming that the ChannelId belongs to a channel the client opened and established. A malicious SSH server can send lifecycle events for predicted, unopened, unconfirmed, or released channel identifiers, causing application panics or corrupting command completion and exit-code tracking. This issue is fixed in version 0.63.1.
CVSS 7.5 · High · EPSS 0.3% · Fix available
- Published
- Updated
Stack: system
Affected products and versions
russh
- Versions
- < 0.63.1: Affected
No fix published
rust-russh Debian:14
- Versions
- 0.57.1-1
- 0.57.1-2
- Affected ranges
- ECOSYSTEM: < 0.64.1-1
Update to 0.64.1-1
rust-russh Ubuntu:26.10
- Versions
- 0.57.1-2
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published