CVE-2026-46705: Eugeny Russh authentication state mismatch in SSH server

CVE-2026-46705 · Severity: medium · CVSS 5.3 · Published 2026-06-10

Russh is a library used by developers to build SSH clients and servers in the Rust programming language. A flaw in the server-side authentication logic allows security settings from one login attempt to incorrectly persist and affect a subsequent login attempt for a different user on the same connection. While this does not directly grant access, it causes a mismatch in how the server handles different users, potentially leading to inconsistent security enforcement or unexpected authentication behavior.

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

Quick answers

Is CVE-2026-46705 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-46705 being exploited in the wild.
How severe is CVE-2026-46705?
Medium severity, with a CVSS score of 5.3, published 10 June 2026.
Which products and versions are affected?
russh (crates.io) SEMVER:introduced=0.34.0-beta.1,fixed=0.61.0; Eugeny Tabby >= 0.34.0-beta.1, < 0.61.0.
Is there a fix for CVE-2026-46705?
Yes. russh (crates.io): upgrade to 0.61.0 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-46705 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-46705?
Check whether you run 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.61.0 or later
    cargo update -p russh

Technical details

A vulnerability exists in the russh server authentication path where internal 'userauth' state is preserved across SSH_MSG_USERAUTH_REQUEST messages even when the request principal (username or service) changes. According to RFC 4252, servers must flush accumulated authentication state if these fields change. In affected versions, russh-owned state—including remaining allowed methods, partial-success flags, and in-progress method state—remains associated with the connection. An unauthenticated remote attacker can exploit this by sending a sequence of authentication requests for different users, causing the state from the first user to influence the authentication requirements or responses for the second. This issue is patched in version 0.61.0.

Affected products

  • Eugeny russh >= 0.34.0-beta.1, < 0.61.0

Identifiers

  • CVE-2026-46705
  • GHSA-hpv4-5h6f-wqr3

Timeline

  • 2026-05-20: advisory: GitHub Security Advisory published
  • 2026-06-10: disclosed: CVE published to NVD

References

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