El equipo de Alpine Linux publicó el 5 de noviembre de 2026 un aviso de seguridad sobre openssh-server: quien pueda llegar al puerto SSH de una máquina afectada puede iniciar sesión sin conocer ninguna contraseña, con solo enviar una muy larga, de entre 257 y 1024 bytes. La distribución ya tiene paquetes corregidos desde la 3.16 y pide a quien ejecute sshd que actualice openssh y reinicie el servicio.
Según el aviso, basta una conexión. El atacante tiene que conocer una cuenta cuyo campo de contraseña sea *, es decir, sin contraseña, lo normal en las que solo entran con clave, y la máquina tiene que tener otra cuenta con un hash $5$ o $6$. Con un solo usuario con contraseña, todas las cuentas sin ella quedan al alcance. Cuando se publicó el aviso, el fallo no tenía identificador CVE asignado.
Una contraseña larga que acaba siendo un asterisco
Compilado sin PAM, sshd calcula el hash del intento con crypt(), la función de la biblioteca de C que convierte una contraseña en el hash que se guarda, y lo compara con el campo almacenado. Si la cuenta tiene un campo demasiado corto para contener una sal (el prefijo aleatorio de un hash), sshd toma prestada la sal de otra cuenta.
El crypt() de musl devuelve la cadena * como indicador de error cuando la clave pasa de 256 bytes. Y * es justo lo que guarda el campo de cada cuenta sin contraseña, así que el «hash» coincide y el inicio de sesión sale adelante.
El proyecto OpenSSH lo trata en la nota de la versión 10.6p2, publicada el mismo 5 de noviembre, como un arreglo para sistemas Linux con musl libc y PAM desactivado. Sus responsables sitúan la causa de fondo fuera de sshd, aunque se explota a través de él y ahí se puede evitar. Rich Felker escribió ese día en la lista de correo de musl que, en su opinión, no se trata de un fallo de musl, sino de un uso erróneo por parte de quien llama a la función. Añadió que el mecanismo que lo ha permitido, que querían cambiar desde hace tiempo, muy probablemente cambiará en el siguiente ciclo de versiones.
Qué sistemas están afectados
La distribución considera afectada una máquina si se cumple todo lo siguiente: usa el paquete openssh-server, que se compila sin PAM, o openssh-server-pam con UsePAM no; tiene PasswordAuthentication yes, que es el valor por defecto de OpenSSH; tiene al menos una cuenta con * como contraseña, y al menos una cuenta local con un hash $5$ o $6$.
Entre las cuentas con asterisco está root, que viene así en la imagen base desde, aproximadamente, Alpine 3.16; lo protege PermitRootLogin prohibit-password, salvo que otra cuenta pueda hacerse root, por ejemplo con doas. También entran los usuarios creados con adduser sin contraseña y los que llegan de un servicio de directorio a través de musl-nscd.
Están afectadas todas las versiones comprobadas: de la 3.21 a la 3.24, edge y las antiguas sin actualizaciones regulares, de la 3.16 a la 3.20. Las imágenes oficiales tiny-cloud de la 3.18.11 a la 3.24.3 traen el usuario alpine sin contraseña y con doas sin contraseña: son seguras en el primer arranque, pero se pueden explotar en cuanto aparece un hash $6$, por ejemplo si un administrador pone una contraseña de consola, y el atacante puede hacerse root con doas.
Quién se libra
No están afectados los usuarios de Docker y de otros contenedores que no ejecutan sshd dentro del contenedor, los sistemas con PasswordAuthentication no, los que usan openssh-server-pam con UsePAM yes, las cuentas bloqueadas con ! y las imágenes de nube configuradas con cloud-init, que escribe PasswordAuthentication no. El mensaje de la lista de musl añade que Dropbear y el resto del software que no es OpenSSH y usa inicio de sesión con contraseña tampoco lo están.
Cómo se corrige
El arreglo es actualizar con apk upgrade -U -a y reiniciar sshd después (rc-service sshd restart), porque actualizar el paquete no reinicia el servicio en marcha. Alpine 3.21.10, 3.22.8, 3.23.8 y 3.24.4 ya incluyen el paquete corregido. Las versiones corregidas de openssh en las ramas más recientes son estas:
| Rama de Alpine | Versión corregida de openssh |
|---|---|
| edge | 10.6_p2-r0 |
| 3.24 | 10.3_p1-r2 |
| 3.23 | 10.2_p1-r1 |
| 3.22 | 10.0_p1-r11 |
| 3.21 | 9.9_p2-r1 |
La 3.21 terminó su soporte el 1 de noviembre de 2026, pero hay paquetes corregidos hasta la 3.16. Quien no pueda actualizar todavía tiene que desactivar el inicio de sesión con contraseña con PasswordAuthentication no y reiniciar sshd, después de comprobar que el acceso con clave funciona.
Para saber si alguien ha entrado, el aviso recomienda buscar en /var/log/messages líneas de sshd con «Accepted password for» en una cuenta sin contraseña y, si no se puede descartar un acceso, tratar la máquina como comprometida.
El fallo lo comunicó Özgün Kültekin, de Wakefield. El arreglo de OpenSSH es de Damien Miller y Darren Tucker; Timo Teräs ayudó a analizar el problema y Natanael Copa compiló y subió los paquetes actualizados.
Te puede interesar
Tech Planet participa en el programa de afiliados de Amazon. Si compras a través de estos enlaces, recibimos una pequeña comisión sin coste extra para ti, lo que nos ayuda a seguir creando contenido como este.
| Imagen | Producto | Características | Comprar |
|---|---|---|---|
![]() |
TP-Link TL-SG108-M2 | Ocho puertos a 2,5 Gbps · 25 Gbps de conmutación · plug & play · aprovecha el cableado cat. 5e o superior | Ver precio en Amazon |
![]() |
TP-Link TL-PA7017P | PLC HomePlug AV2 de hasta 1000 Mbps · un puerto Gigabit · sin wifi · plug and play | Ver precio en Amazon |
![]() |
Mercusys MA310E | Tarjeta PCIe de hasta 2,5 Gbps · autonegociación 2,5G, 1G, 100 y 10 Mbps · Wake-on-LAN | Ver precio en Amazon |
![]() |
UGREEN adaptador USB 3.0 a Ethernet 2.5G | USB 3.0 a RJ45 · hasta 2.500 Mbps · plug and play en Windows 11 y macOS | Ver precio en Amazon |
Escrito por Eloy Andrade









