Ciberseguridad

La vulnerabilidad "*sshole" en OpenSSH abre la puerta a la intrusión en cuentas deshabilitadas en sistemas Linux

Se ha descubierto una vulnerabilidad de seguridad en OpenSSH conocida como "*sshole" que permite a los atacantes eludir la protección de cuentas con contraseñas deshabilitadas en distribuciones que utilizan la biblioteca musl, como Alpine Linux, mediante la introducción de contraseñas extremadamente largas.

2026-11-05
3 min de lectura
0 visitas
certi.news Editorial Team
La vulnerabilidad "*sshole" en OpenSSH abre la puerta a la intrusión en cuentas deshabilitadas en sistemas Linux

El investigador de seguridad Ozgun Kultekin ha revelado una nueva vulnerabilidad de seguridad en el protocolo OpenSSH, denominada "*sshole", que permite a los atacantes iniciar sesión en cuentas de Linux configuradas específicamente para impedir el acceso mediante contraseña. Esta vulnerabilidad aparece especialmente en sistemas que dependen de la biblioteca musl C, lo que pone en riesgo a distribuciones populares como Alpine Linux y OpenWrt.

Mecanismo técnico de la vulnerabilidad

La protección tradicional en los sistemas Linux se basa en reemplazar el hash de la contraseña por un asterisco (*) en el archivo /etc/shadow para impedir el inicio de sesión mediante contraseña. Para evitar las vulnerabilidades de enumeración de nombres de usuario (Username Enumeration) que surgieron en 2016, los desarrolladores de OpenSSH modificaron el sistema para realizar el proceso de cifrado (hashing) incluso para cuentas que no tienen un hash válido, con el fin de garantizar una respuesta uniforme del servidor independientemente del estado de la cuenta.

El problema radica en que la biblioteca musl C, específicamente la función crypt(), devuelve un asterisco (*) como valor cuando falla el proceso de cifrado, lo cual ocurre precisamente cuando la longitud de la contraseña introducida supera el límite de 256 bytes. Esto provoca que el valor resultante del intento fallido coincida con el valor almacenado en el archivo /etc/shadow para la cuenta deshabilitada, lo que engaña a OpenSSH y le hace permitir el proceso de inicio de sesión.

¿Por qué es importante esta noticia?

El peligro real radica en que esta vulnerabilidad podría conducir a un acceso completo con privilegios de root en entornos de computación en la nube. El investigador advirtió que las imágenes oficiales de Alpine Linux utilizadas en plataformas como AWS y Azure contienen una cuenta predeterminada llamada "alpine" que posee privilegios de doas sin necesidad de contraseña, lo que podría permitir a un atacante explotar la vulnerabilidad para obtener el control total del servidor.

Condiciones de explotación y sistemas afectados

Esta vulnerabilidad no afecta a todos los sistemas; aquellos que dependen de la biblioteca glibc (como Debian, Ubuntu y Fedora) o aquellos que utilizan autenticación PAM permanecen seguros. Para que la explotación tenga éxito, deben cumplirse las siguientes condiciones:

  • Ejecutar OpenSSH en un sistema que dependa de la biblioteca musl (como Alpine Linux, OpenWrt, Buildroot o Yocto).
  • Tener deshabilitada la autenticación PAM (que es la configuración predeterminada en el paquete openssh-server en Alpine Linux).
  • Tener activada la función de autenticación por contraseña (Password Authentication) en la configuración de SSH.
  • La existencia de al menos una cuenta cuya contraseña haya sido deshabilitada utilizando un asterisco (*).

Cómo protegerse y verificar

Los desarrolladores de OpenSSH han lanzado la versión 10.6p2 que soluciona esta vulnerabilidad de forma definitiva. Se recomienda a los administradores de sistemas actualizar los paquetes de OpenSSH inmediatamente. En caso de no poder realizar la actualización inmediata, se pueden reducir los riesgos deshabilitando la autenticación por contraseña en el archivo de configuración estableciendo PasswordAuthentication no y reiniciando el servicio.

Para verificar la posible vulnerabilidad del sistema, se pueden examinar los registros de autenticación en busca de inicios de sesión exitosos en cuentas que se supone están deshabilitadas, utilizando el siguiente comando en Alpine Linux:

grep "Accepted password" /var/log/messages

Fuente de la noticia
BleepingComputer
Abrir fuente original ↗
c
Autor

certi.news Editorial Team

De la misma categoría

También te puede interesar

Ver todas las noticias