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).

Severity (CVSS 3.1)4.3Medium
Exploit odds (30 days)0.3%top 82.3% of all CVEs
Exploited in the wildNo reportsCISA SSVC: none
Attack toolingNoneno public tooling known

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

EcosystemPackageFixed inAdvisory
Debian:14rust-russhno fix listedDEBIAN-CVE-2026-116774
Ubuntu:26.10rust-russhno fix listedUBUNTU-CVE-2026-116774

Affected products (as reported)

VendorProductVersions
Eugeny russh >= 0.60.0, < 0.65.0

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