Una fallada d'OpenSSH en sistemes amb musl deixa entrar amb qualsevol contrasenya llarga en comptes bloquejats
A Alpine, OpenWrt i altres sistemes basats en musl, una biblioteca estàndard de C, els comptes marcats amb «*» per no admetre contrasenya accepten qualsevol contrasenya d'entre 257 i 1.024 caràcters si l'sshd no fa servir PAM. L'error existeix des del 2016 i OpenSSH 10.6p2 el corregeix.
L'error neix de la combinació de tres decisions raonables. El 2012, musl va fer que la funció crypt() retornés «» en lloc de NULL quan falla, i va limitar a 256 bytes les contrasenyes que xifra amb SHA-512 per evitar atacs de denegació de servei. El 2016, OpenSSH va corregir una filtració d'usuaris (CVE-2016-6210) i va començar a calcular el hash amb la sal d'un altre compte quan l'usuari no en té cap de vàlid. Amb una contrasenya de més de 256 bytes, crypt() falla, retorna «» i el resultat coincideix amb el camp «*» de /etc/shadow.
Per quedar exposat cal que l'sshd funcioni sobre musl i sense PAM, que l'accés amb contrasenya estigui actiu i que hi hagi un compte amb «*» i un altre amb contrasenya real. A les imatges oficials d'Alpine per a AWS i Azure, l'usuari per defecte té doas sense contrasenya, de manera que l'atacant acaba amb privilegis de root. Els sistemes amb glibc o PAM no hi són vulnerables.
El va trobar un investigador de l'empresa Wakefield amb l'ajuda d'agents automatitzats que van provar unes 17.600 combinacions d'inici de sessió. La pàgina de l'error recomana actualitzar a OpenSSH 10.6p2 o, si no es pot, desactivar PasswordAuthentication.