OpenSSH "sshole" (CVE-2026-123158): en Alpine y sistemas musl se entra en cuentas sin contraseña. Ya se explota
El 5 de noviembre de 2026 el equipo de OpenSSH publicó la versión 10.6p2 para corregir CVE-2026-123158, un fallo bautizado como "sshole". En los sistemas afectados permite entrar por SSH en ciertas cuentas sin conocer su contraseña. No afecta a todos los servidores Linux, pero sí a una familia muy concreta y muy extendida en infraestructura: los sistemas que usan la biblioteca musl libc y tienen desactivado PAM. El caso típico es Alpine Linux, la base de una enorme parte de los contenedores Docker, y también OpenWrt, Buildroot y Yocto, habituales en routers y dispositivos embebidos.
Quien pueda llegar a tu puerto SSH puede entrar sin saber ninguna contraseña. Basta una conexión y funciona siempre. Hay que actualizar OpenSSH ya.
Qué pasa exactamente
Las cuentas que no tienen contraseña (no que tengan una débil, sino que no admiten acceso por contraseña) guardan un asterisco en lugar del hash. Es lo normal en la cuenta root de muchos sistemas, en usuarios de despliegue que solo entran con clave y en usuarios de directorio. El fallo está en cómo musl y OpenSSH se coordinan: desde hace más de una década, musl rechaza las contraseñas de más de 256 caracteres y, al hacerlo, devuelve ese mismo asterisco. OpenSSH interpretaba por error esa respuesta como si la contraseña fuera correcta. El resultado es que, en una de esas cuentas, una contraseña suficientemente larga se acepta aunque no valga nada.
El fallo lleva años en el código, pero se divulgó el 5 de noviembre y a las nueve horas ya se habían detectado ataques reales: una dirección de internet probaba el acceso y, una vez dentro, ejecutaba órdenes de reconocimiento para identificar el equipo. No es teórico y la ventana para parchear es corta.
A quién afecta y a quién no
Afecta solo a los sistemas que cumplen las dos condiciones a la vez: OpenSSH compilado contra musl libc y sin PAM. En la práctica:
- Sí: Alpine Linux, OpenWrt, Buildroot, Yocto y, muy importante, los contenedores Docker basados en Alpine, que son mayoría.
- No: Debian, Ubuntu, Red Hat, Rocky, AlmaLinux y la mayoría de servidores de propósito general, que usan glibc y PAM. Tampoco afecta a Windows ni a los dispositivos de red cuyo SSH no sea OpenSSH sobre musl.
El punto ciego en una empresa suele ser el segundo caso: no el servidor principal, sino los contenedores. Una imagen de Alpine con servidor SSH dentro, un panel que se despliega en Alpine o un dispositivo de red con OpenWrt pueden estar expuestos sin que nadie lo tenga presente.
Cómo saber si te afecta
En el sistema o el contenedor en cuestión, comprueba la distribución y la versión de OpenSSH. En Alpine, la orden para ver la versión del paquete es apk info openssh; la versión de OpenSSH también se ve con ssh -V. Si es un sistema musl (Alpine, OpenWrt, Buildroot, Yocto) con OpenSSH anterior a 10.6p2 y con acceso por contraseña activado, trátalo como vulnerable hasta actualizarlo.
Qué hacer hoy
- Actualiza OpenSSH a la versión corregida. En Alpine, actualiza el paquete openssh (hay versión parcheada en todas las ramas con soporte); el equipo de OpenSSH lo corrigió en 10.6p2. En contenedores, reconstruye la imagen sobre una base de Alpine ya actualizada y vuelve a desplegar: parchear el contenedor en marcha no sirve si la imagen sigue siendo la vieja.
- Mientras actualizas, desactiva el acceso por contraseña. Poniendo PasswordAuthentication no en la configuración de sshd y reiniciando el servicio, el fallo deja de ser aprovechable. Si ya usas solo claves, este cambio no te quita nada.
- No expongas SSH a internet. El puerto de administración debería estar accesible solo desde una red de gestión o a través de VPN, nunca abierto a todo el mundo. Esto corta el ataque de raíz y protege frente al siguiente fallo.
- Revisa los registros en busca de accesos que no deberían existir: entradas de tipo "Accepted password" en cuentas que, en teoría, no admiten contraseña (como root o usuarios de despliegue) son una señal de alarma.
Si gestionas contenedores
Muchas imágenes de Alpine no llevan servidor SSH, y esas no tienen este problema. El riesgo está en las que sí lo incluyen para administración o despliegue. Revisa qué imágenes tuyas o de tus clientes arrancan un sshd sobre Alpine, reconstrúyelas sobre una base actualizada y, de paso, plantéate si ese SSH dentro del contenedor hace falta: muchas veces se puede administrar de otra forma y quitarlo elimina el problema para siempre.
Conclusión práctica
La enseñanza de este caso es que el riesgo no siempre está donde se mira. El servidor principal con Ubuntu no se ve afectado, pero el contenedor de Alpine olvidado o el router con OpenWrt sí. Igual que con el fallo reciente en el TCP de Linux, lo que marca la diferencia es tener inventariado qué sistemas hay, con qué versiones, y mantener el acceso de administración cerrado y por clave.
Si no tienes claro qué servidores, contenedores o dispositivos de red de tu empresa usan Alpine u OpenWrt, ni si alguno tiene SSH abierto, lo revisamos contigo, parcheamos lo afectado y dejamos la administración aislada.
Fuentes
Información actualizada a 6 de noviembre de 2026.
- Alpine Linux: aviso oficial del bypass de autenticación de OpenSSH
- Help Net Security: explotación in-the-wild pocas horas tras la divulgación
- GBHackers: sistemas afectados y detalle de las cuentas con asterisco
- SecurityWeek / OffSeq: condiciones del fallo y rango de 257 a 1024 caracteres
- Safe Security: resumen técnico y CVSS 8.1
Nota editorial: este artículo se ha preparado con ayuda de herramientas de inteligencia artificial y lo ha revisado y publicado Abant Sistemas (LA PEQUEÑA MANZANA SLU), que asume su responsabilidad editorial. Si detectas un error, escríbenos a info@abantsistemas.com.