Una vulnerabilidad de diez años entre OpenSSH y musl permite acceder sin contraseña a ciertas cuentas en Alpine Linux. Ya hay parches de Alpine y OpenSSH.
Qué ha pasado
Según Ars Technica, el fallo nace de la interacción entre OpenSSH y musl, la alternativa ligera a libc que usa Alpine. Para que sea explotable, OpenSSH no debe usar PAM, y el sistema debe tener al menos una cuenta accesible con contraseña hasheada con SHA256 o SHA512, además de una cuenta sin contraseña, marcada con un asterisco en /etc/shadow, algo habitual en cuentas que usan autenticación por certificado.

Si se cumplen todas las condiciones, basta con introducir más de 256 caracteres en el campo de contraseña de una cuenta sin contraseña. Los mantenedores de Alpine lo resumieron el jueves así:
Un atacante que pueda llegar a tu puerto SSH puede entrar sin conocer ninguna contraseña. Basta una conexión, funciona siempre y no requiere reintentos.
Mantenedores de Alpine Linux (traducción editorial)
Check Point añade que la cuenta debe estar activa y que el hash aporta la sal que sshd reutiliza; sin ella, el ataque falla. Las cuentas root están a salvo con el ajuste por defecto PermitRootLogin prohibit-password, aunque una cuenta alcanzable con permisos de sudo o doas podría escalar a root. Los detalles del hallazgo están en sshhole.com.
Por qué importa
Alpine es muy popular: su imagen base en Docker Hub supera los mil millones de descargas, y se usa en routers, televisores, controladores industriales y otros dispositivos embebidos, muchos difíciles o imposibles de actualizar. Detectify cifra en unos 22 millones los sistemas con SSH abierto en el puerto 22 según Shodan; solo una fracción cumpliría las condiciones, pero comprobar cada uno es rápido y barato.
Nuestra recomendación es instalar cuanto antes las actualizaciones de Alpine y de OpenSSH 10.6p2, y revisar qué cuentas tienen un asterisco en /etc/shadow y si sshd corre sin PAM sobre musl. Quien administre imágenes de contenedor debería reconstruirlas con los paquetes parcheados.
Qué no sabemos aún
No está claro dónde reside el fallo. OpenSSH afirma que la causa está fuera de sshd, mientras que Rich Felker, desarrollador de musl, escribió que no es un error de musl sino un uso erróneo por parte de quien llama, aunque planea cambiar el mecanismo en una próxima versión. No hay CVE asignado. Quien lo descubrió menciona OpenWrt, que por defecto usa Dropbear, y los paquetes buildroot y yocto, sin confirmar.
Fuente original: arstechnica.com
Artículo generado mediante AI.larebelion



Publicar un comentario