Advisory Database
  • Advisories
  • Dependency Scanning
  1. cargo
  2. ›
  3. russh
  4. ›
  5. CVE-2026-116774

CVE-2026-116774: russh: peer-declared zero maximum packet size permanently stalls channel writes (silent AsyncWrite hang)

October 30, 2026

A peer can advertise maximum packet size = 0 in its channel-open message (CHANNEL_OPEN when attacking a server, CHANNEL_OPEN_CONFIRMATION when attacking a client). russh accepts the value without validation and copies it into the channel write state, where it caps the size of every outgoing data chunk. In the AsyncWrite code path (ChannelTx::poll_writable, used by Channel::data(), Channel::make_writer() and Channel::into_stream()), a cap of 0 makes every write future stay Poll::Pending forever: writable = max_packet_size.min(window_size).min(buf_len) is always 0, and no future event can ever raise it (a static maximum packet size of 0 can never be satisfied by any amount of peer-granted window). The write neither completes nor errors, so the application task hangs silently.

Every other write path in russh already treats max_packet_size == 0 as an error (Error::Inconsistent): Channel::reserve_writable_chunk (russh/src/channels/mod.rs:363-365) and the session packetizers (russh/src/session.rs:489-492 and 549-552). The AsyncWrite path is the only one that lacks the guard - it contradicts the crate’s own invariant.

References

  • github.com/Eugeny/russh/commit/39cb9dbaa37caf555d34c6c22efa3bbbff9e186c
  • github.com/Eugeny/russh/releases/tag/v0.65.0
  • github.com/Eugeny/russh/security/advisories/GHSA-fw5c-8223-6h42
  • github.com/advisories/GHSA-fw5c-8223-6h42
  • nvd.nist.gov/vuln/detail/CVE-2026-116774

Code Behaviors & Features

Detect and mitigate CVE-2026-116774 with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →

Affected versions

All versions starting from 0.60.0 before 0.65.0

Fixed versions

  • 0.65.0

Solution

Upgrade to version 0.65.0 or above.

Impact 4.3 MEDIUM

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L

Learn more about CVSS

Weakness

  • CWE-400: Uncontrolled Resource Consumption
  • CWE-835: Loop with Unreachable Exit Condition ('Infinite Loop')

Source file

cargo/russh/CVE-2026-116774.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Sat, 31 Oct 2026 00:16:37 +0000.