Vulnerabilità in OpenSSH che consente l'esecuzione remota di codice con privilegi di root su server con Glibc

L'azienda Qualys ha rilevato una vulnerabilità critica (CVE-2024-6387) in OpenSSH, che consente l'esecuzione remota di codice con privilegi di root senza autenticazione. La vulnerabilità, soprannominata regreSSHion, si manifesta nella configurazione predefinita a partire dalla versione OpenSSH 8.5 su sistemi con la libreria standard Glibc.

La possibilità di effettuare un attacco è stata dimostrata su un sistema a 32 bit con Glibc con la protezione ASLR (randomizzazione dello spazio indirizzi) attiva. Per un attacco riuscito in laboratorio sono stati necessari 6-8 ore, durante le quali si server stabilivano continuamente connessioni con la massima intensità consentita nella configurazione di sshd. L'attacco è semplificato e richiede meno tempo sui sistemi privi di ASLR o su distribuzioni che utilizzano OpenSSH modificato, in cui la ri-randomizzazione ASLR è disattivata per ogni connessione. Si è deciso di non pubblicare pubblicamente un prototipo funzionante dell'exploit fino a quando la vulnerabilità non sarà stata risolta universalmente, ma è disponibile una descrizione dettagliata della vulnerabilità stessa, che rende imminente l'emergere di exploit di terze parti.

Non si esclude la possibilità di attacchi anche su sistemi a 64 bit, ma un exploit funzionante per tali sistemi non è ancora pronto. Si prevede che l'esecuzione di attacchi su sistemi a 64 bit richiederà molto più tempo, ma non oltre una settimana. OpenSSH in OpenBSD non è vulnerabile a questo problema, poiché in questo sistema è in uso un meccanismo di protezione che blocca tali tipi di attacco dal 2001. Su altri sistemi basati su librerie standard diverse da Glibc, è teoricamente possibile adattare il metodo per condurre l'attacco (questo aspetto non è ancora stato studiato da Qualys).

La vulnerabilità è stata corretta nella versione di OpenSSH 9.8 pubblicata oggi (patch). È possibile seguire la pubblicazione degli aggiornamenti dei pacchetti nelle distribuzioni su: Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, ROSA, Gentoo, ALT Linux, Arch e FreeBSD. Come soluzione alternativa per bloccare la vulnerabilità, nel file sshd_config è possibile impostare il parametro "LoginGraceTime=0"; disattivando il timeout si faciliterà l'inizializzazione di un attacco di negazione del servizio durante l'instaurazione di un numero elevato di connessioni che superano i limiti stabiliti dal parametro MaxStartups.
Uno dei segnali di tentativo di attacco è l'apparizione nel log di un numero elevato di registrazioni "Timeout before authentication".

La vulnerabilità è emersa a causa di una modifica regressiva inclusa nella release OpenSSH 8.5, che porta a una condizione di race nel codice di gestione dei segnali in sshd. La regressione ha annullato la protezione contro una vecchia vulnerabilità CVE-2006-5051, che si manifestava fino alla versione OpenSSH 4.4 (2006) e che aveva un carattere teorico.
Durante lo sviluppo di OpenSSH 8.5, per errore è stato rimosso il blocco "#ifdef DO_LOG_SAFE_IN_SIGHAND" dalla funzione sigdie(), che viene richiamata direttamente dal gestore SIGALRM.

Il gestore SIGALRM viene attivato in sshd in modalità asincrona se il client non ha effettuato l'autenticazione entro il tempo limite di connessione (LoginGraceTime, di default 120 sec). L'attacco si basa sul fatto che il gestore segnali chiama funzioni non sicure durante la gestione asincrona dei segnali, come syslog(). La funzione syslog() in Glibc non è progettata per l'uso in gestori di segnali eseguiti in modo asincrono, poiché chiama funzioni malloc() e free(). L'attivazione del segnale SIGALRM, che interrompe l'esecuzione di un certo codice in sshd, può portare a una violazione dello stato di esecuzione, e l'obiettivo dell'exploit è creare condizioni per interrompere il codice necessario nel momento giusto della sua esecuzione. La vulnerabilità non influisce su OpenBSD, poiché in esso, invece di syslog(), dal gestore del segnale SIGALRM viene chiamata la funzione syslog_r(), appositamente creata per l'esecuzione asincrona.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster