Read the docs

Zero maximum packet size in russh stalls SSH channel writes

Priority LOW 20CWE-400Published · Updated

Key facts

Attack vector
Network
Privileges required
Low
User interaction
None
Attack complexity
Low
Impact type
Denial of service
Confidentiality · integrity · availability
None · None · Low
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA, GitHub and Red Hat. Impact type from CWE-400.

Summary

The Rust SSH library russh from 0.60.0 before 0.65.0 accepts a peer-declared maximum packet size of zero during channel open. Channel writes then compute a writable size of zero and wait forever, a loop with no reachable exit (CWE-835). An authenticated client can stall server writes, and a malicious server can stall client writes, with no error surfaced.

Written with Claude Haiku 5.5 from the sources below · 2026-11-03

Description from the CNA

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.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00259 17th percentileScored 2026-11-07
Fix Fixed russh (Eugeny): 0.65.0russh (crates.io): 0.65Red Hat: 1 advisory

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
Eugenyrussh0.60.0 to before 0.65.00.65.0Patch availableCNA
—russh (crates.io)0.60.0 to before 0.650.65Patch availableGHSA-fw5c-8223-6h42
  • russh VendorEugeny Affected 0.60.0 to before 0.65.0 Fixed in 0.65.0 Patch available CNA
  • russh (crates.io) Vendor— Affected 0.60.0 to before 0.65 Fixed in 0.65 Patch available GHSA-fw5c-8223-6h42

Remediation

Upgrade russh from Eugeny to fixed version 0.65.0, or russh on crates.io to fixed version 0.65. Red Hat fixes Red Hat Hardened Images in advisory RHSA-2026:93904.

Written with Claude Haiku 5.5 from the sources below · 2026-11-03

  • Fix · CNA russh (Eugeny) Fixed in 0.65.0
  • Fix · GHSA-fw5c-8223-6h42 russh (crates.io) Fixed in 0.65 Advisory →

Red Hat 1 advisory

  • RHSA-2026:93904 Released 2026-11-02 · Red Hat rating Moderate
    Red Hat Hardened Images RPMs Security Update
    • Red Hat Hardened Images openshell-0.1.6-0.1.hum1@aarch64, openshell-0.1.6-0.1.hum1@src, openshell-0.1.6-0.1.hum1@x86_64 +4

Vendor assessments

Red Hat

Red Hat rating: Moderate. Red Hat's page for this CVE →

ProductStatusPlan or fix
Red Hat Hardened ImagesFixed RHSA-2026:93904

Timeline

  1. 2026-10-27 Threatist record created from CVE-2026-116774
  2. 2026-10-28 CISA SSVC decision points changed
  3. 2026-10-30 Affected versions changed · Red Hat
  4. 2026-10-30 CVSS score added · Red Hat
  5. 2026-10-30 Alias added: GHSA-fw5c-8223-6h42
  6. 2026-10-30 Fix available: crates.io/[email protected] · GHSA-fw5c-8223-6h42
  7. 2026-10-30 CVSS score added · GHSA-fw5c-8223-6h42
  8. 2026-10-30 Weakness changed · GHSA-fw5c-8223-6h42
  9. 2026-10-30 5 new references · GHSA-fw5c-8223-6h42
  10. 2026-11-03 Fix available: RHSA-2026:93904 · Red Hat
  11. 2026-11-03 Fix available: Red Hat Hardened Images · Red Hat

References

  • TI-2026-65512 russh: Client-side channel-scoped Handler callbacks fire for channel IDs the client never opened CVSS 3.1HIGH 7.5
  • TI-2026-35550 Russh: SSH message fields were decoded through allocation-first parsers before field-specific bounds CVSS 3.1HIGH 7.5
  • TI-2026-34331 Russh: Post-decompression SSH packet size was not bounded, allowing remote oversized compressed packets CVSS 3.1HIGH 7.5
  • TI-2026-34308 Resource allocation without limits in Eugeny russh CVSS 3.1HIGH 7.5
  • TI-2025-16084 Tabby has a TCC Bypass via Misconfigured Node Fuses CVSS 4.0HIGH 8.6
  • TI-2024-36991 Tabby has a TCC Bypass via Unnecessary Permissive Entitlements in Tabby CVSS 4.0HIGH 8.6
See all 25 →

Sources