Improper Authentication Affecting rust-russh package, versions <0.64.1-1


Severity

Recommended
low

Based on default assessment until relevant scores are available.

Threat Intelligence

EPSS
0.36% (28th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk IDSNYK-DEBIAN14-RUSTRUSSH-17311232
  • published12 Jun 2026
  • disclosed10 Jun 2026

Introduced: 10 Jun 2026

CVE-2026-46705  (opens in a new tab)
CWE-287  (opens in a new tab)

How to fix?

Upgrade Debian:14 rust-russh to version 0.64.1-1 or higher.

NVD Description

Note: Versions mentioned in the description apply only to the upstream rust-russh package and not the rust-russh package as distributed by Debian. See How to fix? for Debian:14 relevant fixed versions and status.

Russh is a Rust SSH client & server library. From version 0.34.0-beta.1 to before version 0.61.0, the russh server authentication path keeps internal userauth state across SSH_MSG_USERAUTH_REQUEST messages without separating that state when the request principal changes. RFC 4252 allows the user name and service name fields to change between authentication requests. The issue is not that such changes are invalid. The issue is that russh-owned authentication state, such as remaining methods, partial-success state, and in-progress method state, can remain associated with the connection and then influence a later request for a different (user, service). This is an internal library state mismatch. This issue has been patched in version 0.61.0.