OpenSSH 9.9p2 corregge due vulnerabilità MITM critiche

OpenSSH fornisce un ricco set di funzionalità di tunneling sicuro

Pochi giorni fa, Damiano Miller (uno degli sviluppatori di OpenSSH), lo ha reso noto, attraverso mailing list, il Versione di manutenzione di OpenSSH 9.9p2 che corregge due vulnerabilità critiche scoperto da Qualys, che potrebbe essere sfruttato per effettuare attacchi Man-in-the-Middle (MITM).

Si menziona che questi difetti ha permesso a un aggressore di intercettare le connessioni SSH e indurre il client ad accettare la chiave di un server dannoso invece della chiave legittima del server di destinazione.

CVE-2025-26465: bypass della verifica della chiave SSH

La prima vulnerabilità risolta nel rilascio di questa versione correttiva è CVE-2025-26465. Questa vulnerabilità è dovuta a un errore logico nell'utilità ssh, che consente a un aggressore di aggirare la verifica della chiave del server ed eseguire con successo un attacco MITM.

Quando un client tenta di connettersi a un server SSH, Un aggressore può reindirizzare il traffico verso un server falso e fa sì che il client accetti la chiave errata senza preavviso, credendo di essere connesso al server legittimo.

Oltre a ciò, questa vulnerabilità:

  • È presente in OpenSSH dalla versione 6.8p1 (dicembre 2014).
  • Attivato quando l'opzione VerifyHostKeyDNS è abilitata.
  • Nella configurazione base di OpenSSH questa opzione è disabilitata per impostazione predefinita, ma in FreeBSD era abilitata fino a marzo 2023.

Per quanto riguarda le cause che causano questo fallimento, si menziona che Ciò avviene perché la funzione verify_host_key_callback() chiama verify_host_key(), ma controlla solo se il codice di errore restituito è -1, ignorando altri codici di errore come -2. Quando verify_host_key() restituisce -2 quando la memoria non è sufficiente, ma a causa dell'omissione del codice di errore, Il sistema presuppone erroneamente che la chiave host sia stata verificata correttamente.

Un aggressore può quindi sfruttare questa falla creando un falso server SSH che invia una chiave host di grandi dimensioni (256 KB), causando un consumo eccessivo di memoria sul client e innescando la condizione di errore non gestito.

CVE-2025-26466: Perdita di memoria e consumo eccessivo di CPU in SSH

La seconda vulnerabilità che è stata corretta è CVE-2025-26466 e questa vulnerabilità colpisce sia il client ssh che il server sshd, come permette di esaurire la memoria del processo e generano un carico elevato sulla CPU inviando ripetutamente pacchetti SSH2_MSG_PING.

Il grande impatto di questa vulnerabilità risiede nel fatto che Può essere sfruttato senza autenticazione e colpisce OpenSSH dalla versione 9.5p1 (Agosto 2023). Inoltre, consente a un aggressore di consumare risorse di sistema, degradando le prestazioni e persino causando un diniego di servizio (DoS).

Per quanto riguarda le cause che determinano questo fallimento, si dice che è dovuto al fatto che Ogni pacchetto SSH2_MSG_PING da 16 byte in arrivo determina l'allocazione di un buffer da 256 byte nella memoria. Questo buffer non viene liberato finché non viene completato l'accordo sulla chiave, con conseguente perdita di memoria quando vengono inviati più pacchetti PING.

Mitigazione e soluzione

Come soluzione alternativa, Si consiglia di impostare delle restrizioni in sshd_config utilizzando le seguenti direttive:

  • LoginGraceTime: Ciò limita il timeout per l'autenticazione.
  • MaxStartup: limita il numero di connessioni non autenticate.
  • Penalità PerSource: applica delle penalità ai client che generano più tentativi di connessione.

E per quanto riguarda il soluzioni, Il primo e più consigliato è aggiornare OpenSSH alla versione rilasciata, “9.9p2” il prima possibile per correggere queste vulnerabilità. Tuttavia, se l'aggiornamento immediato non è fattibile, è opportuno applicare le misure di mitigazione sopra menzionate. Inoltre, si consiglia di disattivare VerifyHostKeyDNS, a meno che non vengano utilizzati meccanismi di verifica DNSSEC affidabili.

Se si interessati a saperne di più, puoi controllare i dettagli in il seguente collegamento.

Come installare OpenSSH su Linux?

Per coloro che sono interessati a poter installare questa nuova versione di OpenSSH sui propri sistemi, per ora possono farlo scaricando il codice sorgente di questo e eseguire la compilazione sui propri computer.

Questo perché la nuova versione non è stata ancora inclusa nei repository delle principali distribuzioni Linux. Per ottenere il codice sorgente, puoi farlo da il seguente collegamento.

Fatto il download, ora decomprimeremo il pacchetto con il seguente comando:

tar -xvf apresh-9.9p2.tar.gz

Entriamo nella directory creata:

cd apresh-9.9p2

Y possiamo compilare con i seguenti comandi:

./configure --prefix = / opt --sysconfdir = / etc / ssh make make install