Skip to content
Threat Feed
high advisory

russh: SSH agent fails to require confirmation for keys (CVE-2026-116794)

The russh library fails to trigger the Agent::confirm callback for SSH keys protected by the confirm constraint, allowing unauthorized signing operations by any process capable of communicating with the agent.

CVE search metadata

CVE search record: CVE-2026-116794. KEV: no. Product: russh (< 0.65), Proton Pass desktop. Brief: russh: SSH agent fails to require confirmation for keys (CVE-2026-116794). Brief link: https://feed.craftedsignal.io/briefs/2026-10-russh-ssh-agent-bypass/

Triage facts

Revision 1
Applicability
russh (< 0.65), Proton Pass desktop
Evidence
Unknown
Severity
High
Action
Elevated
Sources
2 public sources
Freshness
Revision 1Oct 31, 03:20 UTC
Vulnerabilities
1 CVE
Source quality
A1Likely

The SSH agent server in the russh library fails to invoke Agent::confirm when handling signing requests for keys added with the SSH_AGENT_CONSTRAIN_CONFIRM constraint (commonly applied via ssh-add -c). This logic error, introduced in version 0.50.0-beta.12 and persisting through version 0.64.1, replaces the required confirmation check with a hard-coded success result. Applications relying on this callback for security enforcement, such as Proton Pass desktop, do not prompt the user for authorization before performing cryptographic operations, effectively bypassing the protection provided by the confirm constraint.

Impact

Successful exploitation allows local processes or remote hosts (via SSH agent forwarding) to use protected SSH keys for authentication or data signing without user consent. The private key material itself is not exposed, but the ability to use the key is compromised for as long as an attacker maintains access to the agent socket.

Recommendation

  • Update all software packages using russh to version 0.65 or later immediately.
  • Review downstream applications that use russh to implement agent functionality and verify their Agent::confirm logic is invoked correctly.
  • For applications that use confirm to perform security checks (e.g., "Pass is unlocked" checks), verify that the state logic is not bypassed by the regression.

Immediate actions

Upgrade all russh-based applications and dependencies to version 0.65 or later.

Development 48h

Threat Hunt

Identify applications in the environment using the russh library versions 0.50.0-beta.12 through 0.64.1.

T1552.004 medium high confidence hunt now

Data: Software composition analysis (SCA) results or dependency tree output for Rust-based binaries.

Mitigations

Update to russh v0.65+.

immediate IT Operations

CVE-2026-116794