Vulnerability 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.
CVSS Score
MEDIUM
Related Weaknesses (CWE)
References
- https://github.com/Eugeny/russh/commit/39cb9dbaa37caf555d34c6c22efa3bbbff9e186c
- https://github.com/Eugeny/russh/releases/tag/v0.65.0
- https://github.com/Eugeny/russh/security/advisories/GHSA-fw5c-8223-6h42
FAQ
What is CVE-2026-116774?
CVE-2026-116774 is a vulnerability with a CVSS score of 4.3 (MEDIUM). 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...
How severe is CVE-2026-116774?
CVE-2026-116774 has been rated MEDIUM with a CVSS base score of 4.3/10. Review the CVSS metrics above for detailed severity breakdown.
Is there a patch for CVE-2026-116774?
Check the references section above for vendor advisories and patch information. Review vendor security bulletins for remediation guidance.