Vulnerability · Published Oct 27, 2026 · Assigned by GitHub_M
CVE-2026-116774russh: peer-declared zero maximum packet size permanently stalls channel writes (silent AsyncWrite hang)
Medium 4.3
In plain English
A medium-severity uncontrolled resource consumption in russh from Eugeny. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.3% (higher than 18% of all known vulnerabilities).
Official description
russh is a Rust SSH client and server library that includes an SSH agent protocol implementation. From 0.60.0 until 0.65.0, channel-open parsing accepts a peer-declared maximum_packet_size of zero and passes it into ChannelTx::poll_writable in russh/src/channels/io/tx.rs. The Channel::data, Channel::make_writer, and Channel::into_stream asynchronous write paths then calculate a writable size of zero and remain pending forever because window adjustments cannot satisfy a static zero packet maximum. An authenticated client can strand server writes, and a malicious server can strand client writes, allowing affected tasks, channels, and connections to accumulate without surfacing an error. This issue is fixed in version 0.65.0.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian:14 | rust-russh | no fix listed | DEBIAN-CVE-2026-116774 |
| Ubuntu:26.10 | rust-russh | no fix listed | UBUNTU-CVE-2026-116774 |
Affected products (as reported)
Weakness: CWE-400, CWE-835 · Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L
References
- https://github.com/Eugeny/russh/security/advisories/GHSA-fw5c-8223-6h42 x_refsource_CONFIRM
- https://github.com/Eugeny/russh/commit/39cb9dbaa37caf555d34c6c22efa3bbbff9e186c x_refsource_MISC
- https://github.com/Eugeny/russh/releases/tag/v0.65.0 x_refsource_MISC