Track vulnerabilities like this one. Sign up free to get alerted when software you use is affected.
3.7

CVE-2026-102822: russh library can crash when mac=none is allowed

CVE-2026-102822 · published 19 days ago
Summary

The Russh SSH client and server library (versions before 0.63.1) may let a connection request that disables message authentication (mac=none) combine with certain encryption modes, leading to a programming error that crashes the connection. This can cause service interruptions for applications using the library. Upgrade to version 0.63.1 or later to resolve the issue.

What to do
  • Update eugeny russh to version 0.63.1.
  • Update russh to version 0.63.1.
Affected software
Ecosystem VendorProductAffected versions
– eugeny russh < 0.63.1
rust eugeny russh <= 0.63.0
Fix: upgrade to 0.63.1
rust – russh <= 0.63.0
Fix: upgrade to 0.63.1
Ubuntu:26.10 canonical rust-russh All versions
Original advisory text
russh: negotiating a MAC-requiring block cipher (CTR/CBC) with mac=none causes a slice-index-out-of-range panic
Russh is a Rust SSH client and server library. Prior to 0.63.1, a connection configured to permit mac=none can negotiate it with a MAC-requiring CTR or CBC block cipher because the selection logic validates needs_mac() only when MAC selection fails. A remote peer can then send a packet with a decrypted length of zero, causing russh/src/cipher/mod.rs to shrink the previously read block before indexing buffer.buffer[16..], which panics and terminates the connection task. This issue is fixed in version 0.63.1.
Fix within
Internet-facing 60 days
Internal At next upgrade
  • Not known to be exploited
  • Needs hands-on effort to exploit
  • Gives an attacker partial control
Severity
3.7 Low
Exploitation
<1% chance of attack within 30 days
Type
CWE-129Improper Validation of Array Index
Timeline
Published29 Sep 2026
Updated19 Oct 2026
First seen29 Sep 2026
Track software like this
Free during beta