CVE-2026-42189: Russh SSH library denial of service in keyboard-interactive auth

CVE-2026-42189 · Severity: high · CVSS 7.5 · Published 2026-05-08

A denial-of-service vulnerability exists in russh, a library used to implement SSH servers in Rust. An unauthenticated attacker can crash the server by sending a single specially crafted packet during the login process, specifically when multi-factor authentication (like 2FA or TOTP) is enabled. This results in a complete service outage for all users and can be repeated to prevent the server from restarting.

Technologies: russh (crates.io), Eugeny Tabby. Vendors: crates.io, Eugeny.

Quick answers

Is CVE-2026-42189 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-42189 being exploited in the wild.
How severe is CVE-2026-42189?
High severity, with a CVSS score of 7.5, published 8 May 2026.
Which products and versions are affected?
Binarty Warpgate <= 0.23.0; russh (crates.io) SEMVER:introduced=0,fixed=0.60.1; Eugeny Tabby < 0.60.1.
Is there a fix for CVE-2026-42189?
Yes. russh (crates.io): upgrade to 0.60.1 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-42189 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-42189?
Check whether you run Binarty Warpgate, russh (crates.io) or Eugeny Tabby at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • russh (crates.io): upgrade to 0.60.1 or later
    cargo update -p russh

Technical details

A memory allocation vulnerability (CWE-770/CWE-789) exists in `russh/src/server/encrypted.rs` within the `read_userauth_info_response` function. The handler decodes a `u32` integer from a client's `SSH_MSG_USERAUTH_INFO_RESPONSE` packet and uses it directly in `Vec::with_capacity()` without validating it against the actual remaining packet size. An unauthenticated attacker can provide a large value (e.g., 0x10000000), forcing the server to attempt a multi-gigabyte allocation that triggers an Out-of-Memory (OOM) crash. This occurs during the keyboard-interactive authentication flow before any credentials are validated. The issue is fixed in version 0.60.1 by capping the allocation capacity based on the remaining packet data.

Affected products

  • Eugeny russh < 0.60.1

Identifiers

  • CVE-2026-42189
  • GHSA-f5v4-2wr6-hqmg

Timeline

  • 2026-04-20: disclosed
  • 2026-04-24: advisory
  • 2026-04-24: patched: Fixed in version 0.60.1

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.