Una falla che interessa alcune configurazioni Linux consente di aggirare l’autenticazione SSH e accedere ad account che, in teoria, non accettano password.
La vulnerabilità, chiamata *sshole, riguarda l’interazione tra OpenSSH e musl, una libreria C utilizzata, tra gli altri, dalla distribuzione Alpine Linux.
Il problema è delicato perché non richiede credenziali valide: un aggressore in grado di raggiungere il servizio SSH può sfruttare una gestione errata degli errori durante la verifica. La scoperta, riportata da Ars Technica e approfondita da ricercatori di sicurezza, riporta l’attenzione sulla protezione dei server e dei dispositivi embedded esposti in rete, spesso amministrati da remoto.
Come funziona il bypass dell’autenticazione SSH
Il difetto emerge quando OpenSSH opera con musl senza PAM, il sistema che gestisce l’autenticazione e il controllo degli account.
In queste condizioni, la libreria restituisce un asterisco quando il calcolo dell’hash fallisce, per esempio se la password inserita supera il limite previsto. Lo stesso simbolo può però comparire nel file /etc/shadow per indicare un account senza password utilizzabile.
L’attaccante può provocare una corrispondenza inattesa tra il valore restituito dalla libreria e quello registrato per il profilo bersaglio. Perché il tentativo riesca, devono coesistere altre condizioni: l’autenticazione SSH tramite password deve essere attiva, deve esistere un account senza hash valido e un altro account attivo deve avere una password memorizzata con SHA-256 o SHA-512. Il ricercatore Özgün Kültekin ha individuato il comportamento attraverso test automatizzati su diverse configurazioni.
Non tutte le distribuzioni sono esposte. I sistemi basati su glibc, tra cui Debian, Ubuntu e Fedora, non risultano interessati da questo specifico problema; anche l’utilizzo di PAM impedisce lo scenario descritto. Il rischio riguarda soprattutto installazioni musl configurate senza quel livello di autenticazione, comprese alcune immagini cloud di Alpine che possono includere account predefiniti con privilegi elevati.
Sistemi coinvolti e misure di protezione
La vulnerabilità può avere conseguenze importanti quando il profilo raggiungibile dispone di autorizzazioni amministrative o può ottenere privilegi superiori tramite strumenti come doas o sudo. Alpine è diffusa anche in router, smart TV e controller industriali: alcuni di questi apparati possono essere difficili da aggiornare.
OpenSSH ha pubblicato una correzione in Portable OpenSSH 10.6p2, mentre Alpine ha distribuito pacchetti aggiornati. Gli amministratori dovrebbero installare gli aggiornamenti pertinenti e riavviare il servizio affinché la correzione diventi effettiva. Se l’intervento immediato non è possibile, la misura temporanea indicata dagli esperti consiste nel disattivare l’autenticazione tramite password impostando PasswordAuthentication no, oppure sospendere SSH sui sistemi esposti.
È inoltre opportuno esaminare i registri per individuare accessi tramite password a profili che dovrebbero rifiutarli. Un evento simile richiede verifiche approfondite, perché potrebbe indicare uno sfruttamento riuscito.