Live › vulnerability › CVE-2026-116794
Go to dashboardrussh, a Rust SSH client and server library, has an SSH agent server that accepts keys added with the confirm constraint but never runs the application's confirm check. A process that can reach the agent socket, including a remote host using forwarded agent access, can sign with such a key without the approval the application meant to require.
Summary written from the sources below. Check the originals before acting.
First seen by InfraStack 2026-10-28 18:34 UTC. All times on this page are UTC.
Applications that use russh's SSH agent server and override to require user approval or another policy check are exposed, and the flaw applies to versions from up to . Applications that keep the default always-successful lose no approval check through this regression, and applications that do not run the agent server are unaffected.
Agent::confirm0.50.0-beta.120.65.0Agent::confirmNo product ranges from the sources yet.
grep -A1 'name = "russh"' Cargo.lockAgent::confirm in russh's agent server code0.65.0 or laterAgent::confirm_request, which still runs for every signing requestEach row is the first time that source carried this signal. The analyst’s rows are its own findings.
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.
This page as .md · .json · in your agent: get_signal("CVE-2026-116794")
NVD data is provided by NIST and is public domain. Posts quoted belong to their authors.