Otkriven je bezbednosni propust u određenim Linux sistemima koji koriste musl libc, pri kojem unos lozinke duže od 256 bajtova može da omogući pristup nalozima za koje autentifikacija lozinkom obično nije dozvoljena. Propust je nazvan *sshole i povezan je sa specifičnom kombinacijom musl i OpenSSH.
Rizik ne pogađa sve Linux instalacije. Sistem mora da koristi musl umesto uobičajene GNU C biblioteke, SSH server da radi bez PAM-a, prijava lozinkom mora da bude uključena i mora da postoji bar jedan nalog sa važećim hešom lozinke. Dodatno, ciljni nalog treba da ima zvezdicu u polju za lozinku, što se najčešće koristi za naloge koji ne treba da prihvataju lozinku.
U takvom podešavanju, lozinka dužine od 257 do 1.024 znaka može da dovede do pogrešnog poklapanja pri proveri lozinke. Tako bi mogli da budu pogođeni root nalozi, korisnici namenjeni samo za pristup ključevima, kao i LDAP korisnici, ukoliko ispunjavaju navedene uslove. Direktna prijava kao root i dalje zavisi i od podešavanja OpenSSH servera.
Uzrok je u različitom ponašanju funkcije crypt() pri neuspehu. Na nekim sistemima ona može da vrati praznu vrednost, dok musl u određenim slučajevima vraća jedan znak — zvezdicu. Musl istovremeno ograničava lozinke na 256 bajtova. U kombinaciji sa mehanizmom koji je OpenSSH uveo 2016. godine kako se ne bi otkrilo da li određeno korisničko ime postoji, ovo stvara mogućnost za zaobilaženje očekivane provere.
Propust je posebno relevantan za Alpine Linux, gde je musl standardna C biblioteka. Alpine nudi i zvanične cloud slike za AWS i Azure, pa bi određene instalacije u tim okruženjima mogle da budu izložene, u zavisnosti od njihove SSH konfiguracije. Musl se često koristi i kod ugrađenih Linux sistema zbog manjeg otiska.
Zaštita je dostupna uz OpenSSH 10.6p2 ili noviju verziju. Na sistemima gde nadogradnja nije odmah moguća, preporuka je da se isključi autentifikacija lozinkom i ponovo pokrene SSH servis. Nema navedenih informacija da je propust iskorišćen u stvarnim napadima.
