Nel server FreeBSD fornito è stata identificata una vulnerabilità in OpenSSH (CVE-2024-7589) che consente l'esecuzione remota di codice con privilegi di root senza autenticazione. Questa vulnerabilità è una variante di un problema riscontrato all'inizio di luglio in OpenSSH (CVE-2024-6387) ed è causata anche da una condizione di corsa che si verifica a causa dell'esecuzione di funzioni nel gestore dei segnali non progettate per essere chiamate in modalità asincrona.
Gli sviluppatori di FreeBSD hanno risolto la vulnerabilità originale di luglio immediatamente dopo l'annuncio, ma la correzione non copriva tutti i possibili vettori di attacco. La correzione consisteva nella disabilitazione della chiamata alla funzione sshlogv, che alloca memoria in modo dinamico, il che, durante l'esecuzione asincrona, potrebbe portare a danneggiamenti delle strutture interne di malloc quando il gestore del segnale SIGALRM viene attivato durante l'esecuzione di codice specifico. Come si è rivelato, un problema simile si verificava nella chiamata della funzione blacklist_notify specifica di FreeBSD, che garantisce l'integrazione con il processo in background blacklistd.
Oltre all'applicazione della patch, è possibile bloccare la vulnerabilità impostando il parametro "LoginGraceTime=0" in /etc/ssh/sshd_config, ma disabilitare il timeout semplificherà l'inizio di un attacco denial of service tentando un gran numero di connessioni che superano i limiti impostati dal parametro MaxStartups.
Inoltre, sono state risolte altre tre vulnerabilità in FreeBSD:
- CVE-2024-6760 — possibilità di eludere la protezione contro l'uso di ktrace per il tracciamento dei processi suid, consentendo a un utente non privilegiato di accedere al contenuto di file per i quali non ha diritti di lettura, ad esempio, è possibile leggere il contenuto di un file con gli hash delle password degli utenti.
- CVE-2024-6759 — nel client NFS è stata identificata la possibilità di utilizzare nei nomi dei file i caratteri di separazione dei percorsi „..“ e „/“;
- CVE-2024-6640 — vulnerabilità nel filtro di pacchetti PF, che ha fatto sì che i pacchetti ICMPv6 con identificatore nullo non fossero soggetti alle regole del firewall progettate per riflettere i pacchetti in arrivo nella tabella di stato.
Fonte: opennet.ru
