Un problema de seguridad descubierto recientemente afecta a Alpine Linux y a otras distribuciones basadas en musl. Identificado como CVE-2026-123158, permite eludir la autenticación por contraseña en el servidor OpenSSH cuando se envía una clave de entre 257 y 1 024 bytes. La vulnerabilidad, que data de 2016, quedó oculta durante una década y se activó en versiones de Alpine que utilizan el paquete openssh-server sin PAM.
Cómo funciona la vulnerabilidad
En sistemas que emplean musl libc, la función crypt() rechaza contraseñas mayores a 256 bytes y devuelve la cadena «*» como señal de error. Esa misma cadena se usa en /etc/shadow para marcar cuentas sin contraseña válida (por ejemplo, la cuenta * utilizada por Alpine para permitir solo autenticación por clave). Cuando OpenSSH, compilado sin PAM, compara el valor devuelto (*) con el campo de la cuenta objetivo, considera que coinciden y concede el acceso. El atacante solo necesita conocer el nombre de una cuenta sin contraseña y que exista al menos una cuenta con un hash real (tipo 5 o 6) en el mismo sistema.
Sistemas afectados y alcance
Alpine informó que todas las ramas verificadas entre la 3.16 y la 3.24, incluyendo edge, están vulnerables siempre que se cumplan tres condiciones: openssh-server sin PAM, PasswordAuthentication habilitado (valor predeterminado) y la presencia de una cuenta con «*» junto a otra con hash real. Las imágenes oficiales «tiny-cloud» (versiones 3.18.11 a 3.24.3) son particularmente peligrosas, ya que incluyen al usuario alpine con doas sin contraseña; al crear cualquier cuenta con contraseña, el atacante puede escalar a privilegios de root mediante doas.
Distribuciones que comparten la biblioteca musl y la configuración descrita también están en riesgo: Adélie Linux, Void Linux, Sabotage Linux, OpenWrt y proyectos basados en Yocto. En contraste, sistemas que usan glibc (como Debian, Ubuntu o Fedora) o que habilitan PAM no se ven afectados.
Medidas de mitigación y parches
El 5 de noviembre de 2026 se lanzó OpenSSH 10.6p2, que descarta hashes demasiado cortos y evita que el asterisco (*) sea interpretado como coincidencia válida. Alpine respondió con paquetes corregidos en las versiones 3.21.10, 3.22.8, 3.23.8 y 3.24.4, y retrocompatibilidad hasta la 3.16. La actualización se realiza con apk upgrade -U -a seguida de rc-service sshd restart. Es importante recordar que la actualización del paquete no sustituye al daemon en ejecución; por eso se requiere el reinicio.
Para entornos que no pueden actualizar de inmediato, la recomendación es desactivar PasswordAuthentication y confirmar que el acceso mediante clave SSH funciona antes de aplicar el cambio con echo "PasswordAuthentication no" > /etc/ssh/sshd_config.d/00-no-passwords.conf y reiniciar el servicio.
Los administradores deben revisar los registros de /var/log/messages buscando líneas «Accepted password for» asociadas a cuentas con «*». Si se detecta alguna coincidencia, se debe considerar el sistema comprometido. Además, se aconseja reconstruir imágenes de contenedores o máquinas en la nube a partir de una base ya parcheada.
Wind River, responsable de Wind River Linux, confirmó que está analizando la vulnerabilidad: «Wind River takes security seriously. We are actively reviewing the reported vulnerability and assessing its potential impact. We will take appropriate action as needed.»



