Missing Authorization Affecting rust-russh package, versions *


Severity

Recommended
low

Based on default assessment until relevant scores are available.

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-DEBIANUNSTABLE-RUSTRUSSH-21785416
  • published29 Oct 2026
  • disclosed28 Oct 2026

Introduced: 28 Oct 2026

NewCVE-2026-116794  (opens in a new tab)
CWE-862  (opens in a new tab)

How to fix?

There is no fixed version for Debian:unstable rust-russh.

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:unstable relevant fixed versions and status.

russh is a Rust SSH client and server library that includes an SSH agent protocol implementation. From 0.50.0-beta.12 until 0.65.0, the agent server's Connection::try_sign path in russh/src/keys/agent/server.rs recognizes SSH_AGENT_CONSTRAIN_CONFIRM but returns a hard-coded successful result instead of calling Agent::confirm. In applications that override Agent::confirm to require user approval or another policy check, a process that can reach the agent socket, including the remote side of a forwarded agent, can use a key added through ssh-add -c without that check and can authenticate or sign data as the user while the key remains loaded. The separate Agent::confirm_request hook still runs for every signing request, so checks implemented there remain effective, and implementations that retain the default always-successful Agent::confirm do not lose an approval check through this regression. This issue is fixed in version 0.65.0.