La falla OpenSSH apodada *sshole permite invadir servidores Alpine Linux — y otros sistemas basados en la biblioteca C musl — usando solo una contraseña larga, de 257 a 1.024 caracteres. El investigador Özgün Kültekin, de la empresa de seguridad Wakefield, reveló la vulnerabilidad el 5 de noviembre de 2026, y la corrección ya está disponible en OpenSSH 10.6p2, lanzado el mismo día. CSO Online identifica la falla como CVE-2026-123158.
El ataque no exige adivinar credenciales ni fuerza bruta: basta un único intento de inicio de sesión con una contraseña larga en una cuenta que nunca debería aceptar contraseñas — como el usuario root o cuentas de uso exclusivo por clave SSH.
Cómo funciona la falla OpenSSH
El problema nace de la combinación de tres decisiones antiguas. En 2012, los desarrolladores de musl limitaron las contraseñas a 256 bytes para evitar ataques de denegación de servicio con hashes SHA-512 lentos — e hicieron que la función crypt() devolviera un asterisco (*) cuando no puede calcular el hash. En 2016, OpenSSH empezó a “tomar prestada” la sal de otra cuenta para simular la verificación de contraseña de usuarios inexistentes, como defensa contra la enumeración de nombres de usuario (CVE-2016-6210). Y las cuentas sin contraseña llevan justamente un asterisco en el campo de contraseña del archivo /etc/shadow.
Cuando un atacante envía una contraseña de más de 256 caracteres a una de esas cuentas, musl no logra calcular el hash y devuelve * — que coincide con el asterisco almacenado. El servidor entiende que la contraseña es correcta y concede el acceso.
Quién está expuesto
Un atacante solo puede explotar la falla OpenSSH cuando se reúnen todas estas condiciones: el sistema usa musl (caso de Alpine Linux, muy usado en contenedores Docker y en la nube); OpenSSH corre sin el módulo PAM; la autenticación por contraseña está activada; existe una cuenta con asterisco en el campo de contraseña; y existe otra cuenta con un hash de contraseña válido ($5$ o $6$), de donde se toma prestada la sal.
El caso más grave está en las imágenes oficiales de nube de Alpine Linux, versiones 3.18.11 a 3.24.3: en ellas, el usuario predeterminado alpine tiene permiso doas sin contraseña — el equivalente ligero de sudo. Quien entra como alpine puede convertirse en root con un solo comando. El inicio de sesión directo como root sigue limitado por la configuración predeterminada PermitRootLogin prohibit-password, pero esta vía sortea esa protección.
Distribuciones populares como Debian, Ubuntu y Fedora no están afectadas, porque usan glibc en lugar de musl. No hay indicios de que ya se hayan explotado sistemas vulnerables, según The Register.
La corrección y qué hacer
OpenSSH 10.6p2, lanzado el 5 de noviembre, corrige la falla OpenSSH, y Alpine publicó paquetes corregidos para todas las versiones desde la 3.16. Quien administre servidores Alpine debe actualizar cuanto antes. Quien no pueda actualizar debe desactivar la autenticación por contraseña en OpenSSH y reiniciar el demonio, usando solo claves SSH. El investigador también publicó un comando sencillo para verificar si alguna cuenta sin contraseña recibió recientemente un inicio de sesión por contraseña.
Crédito de la imagen: logotipo de Alpine Linux, vía Wikimedia Commons.
Fuentes
- The Register — Get root on a musl Linux system by slamming it with an overly long password
- CSO Online — OpenSSH flaw lets attackers access password-disabled accounts on some Linux systems
- sshhole.com — análisis técnico de Özgün Kültekin (Wakefield)
Transparencia: este artículo fue producido con ayuda de inteligencia artificial, contrastado con publicaciones públicas y fuentes de internet. Consulta las fuentes originales para confirmar la información.
Muse