CVE-2026-116794 in russh
Riassunto
di VulDB • 28/10/2026
russh è una libreria Rust per client e server SSH che include un'implementazione del protocollo dell'agente SSH. Dalla versione 0.50.0-beta.12 alla 0.65.0, il percorso `Connection::try_sign` del server agente in `russh/src/keys/agent/server.rs` riconosce `SSH_AGENT_CONSTRAIN_CONFIRM`, ma restituisce un risultato di successo predefinito (hard-coded) anziché chiamare `Agent::confirm`. Nelle applicazioni che sovrascrivono `Agent::confirm` per richiedere l'approvazione dell'utente o altri controlli di policy, un processo in grado di raggiungere il socket dell'agente, inclusa la parte remota di un agente inoltrato (forwarded agent), può utilizzare una chiave aggiunta tramite `ssh-add -c` senza tale controllo e autenticarsi o firmare dati come l'utente mentre la chiave rimane caricata. Il hook separato `Agent::confirm_request` viene comunque eseguito per ogni richiesta di firma, quindi i controlli implementati in tale sede rimangono efficaci; inoltre, le implementazioni che mantengono il comportamento predefinito di `Agent::confirm` sempre positivo non perdono un controllo di approvazione a causa di questa regressione. Il problema è risolto nella versione 0.65.0.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.