CVEsEugenyCVE-2026-116794Published Oct 28, 17:06 · Updated Oct 28, 17:06 UTC
8.3
HighCVSS 4.0 · from GitHub_M
CVE-2026-116794

russh: Agent server never calls `Agent::confirm`, so keys added with the confirm constraint (`ssh-add -c`) sign without confirmation

russh · Missing authorization · CWE-862
Affectedrussh
FixNo fix listed yet.
PublishedOct 28, 17:06 · GitHub_M
ScoredOct 28 · 8.3 · GitHub_M
Exploit code publicNone known · checked 21:18 UTC
ExploitedNone known · CISA KEV checked 22:09 UTC

What we know

No known exploitation. CISA KEV, checked 22:09 UTC.
No public exploit code known. Exploit-DB, Metasploit, Nuclei, checked 21:18 UTC.
An attacker needs local access to the machine. CVSS: local.
A successful attack can change data. CVSS impact.

Description

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.

From GitHub_M

Affected and fixed versions

ProductAffectedFixed inrussh< 0.65–

Exploit code

Exploit-DBnone knownMetasploitnone knownNucleinone known

References

github.com/Eugeny/russh/security/advisories/GHSA-vp5q-ff62-jwqv · github.comrefsource_CONFIRMgithub.com/Eugeny/russh/commit/3e04597dc54e36bfc85c21996f7d8d9d224e9826 · github.comrefsource_MISCgithub.com/Eugeny/russh/commit/62db6e7defd6d244159da962ccccb029e785ce0f · github.comrefsource_MISCgithub.com/Eugeny/russh/releases/tag/v0.65.0 · github.comrefsource_MISC

Other CVEs in russh

All 24 →
2.3pageant: unbounded frame buffering on peer-controlled 4-byte length prefix (memory-exhaustion DoS) · CVE-2026-116775Oct 274.3russh: peer-declared zero maximum packet size permanently stalls channel writes (silent AsyncWrite hang) · CVE-2026-116774Oct 274.3russh's SSH client is susceptible to unbounded allocations via EXT_INFO packets · CVE-2026-116773Oct 27