Informe 24. Tu diario local
Tecnología

Vulnerabilidad SSH en Linux permite acceso sin contraseña

Descubre cómo una vulnerabilidad SSH en Linux permite acceso sin contraseña. Afecta a Alpine Linux con OpenSSH y musl. Conoce los detalles y cómo protegerse.

Vulnerabilidad SSH en Linux permite acceso sin contraseña
Imagen: xataka.com. Uso informativo; los derechos pertenecen a su titular.

Descubrimiento de una grave vulnerabilidad en sistemas Linux

Una vulnerabilidad SSH en Linux ha sido identificada recientemente, permitiendo que atacantes accedan a determinadas cuentas sin necesidad de conocer la contraseña. Este fallo, catalogado como CVE-2026-123158 y bautizado como *sshole, representa un riesgo significativo para la seguridad de servidores que utilizan configuraciones específicas. La vulnerabilidad SSH en Linux combina componentes de OpenSSH, la biblioteca musl y la ausencia de PAM (Pluggable Authentication Modules), creando una condición perfecta para este tipo de ataque.

El investigador de seguridad Özgün Kültekin, con base en Wakefield, fue quien descubrió esta vulnerabilidad SSH en Linux tras años de pasar desapercibida. El hallazgo fue reportado el 5 de noviembre, cuando tanto OpenSSH como Alpine Linux publicaron parches de seguridad para corregir el problema. Aunque la vulnerabilidad SSH en Linux afecta principalmente a Alpine Linux, otras distribuciones que cumplan con las mismas condiciones técnicas también podrían verse comprometidas.

¿Cómo funciona el ataque mediante SSH sin contraseña?

Para comprender cómo es posible un ataque de estas características, es fundamental conocer el funcionamiento de SSH. SSH es el protocolo de red que permite establecer conexiones seguras a ordenadores remotos, siendo ampliamente utilizado para la administración de servidores. OpenSSH es una implementación popular que ofrece autenticación mediante contraseñas o claves criptográficas.

En sistemas Linux, el archivo /etc/shadow almacena información crítica para la verificación de contraseñas. Cuando este campo contiene un asterisco (*), debería bloquear completamente la autenticación mediante contraseña, permitiendo únicamente otros métodos de acceso. Sin embargo, la vulnerabilidad SSH en Linux explota un comportamiento inesperado en esta verificación.

El mecanismo detrás del bypass de seguridad

Según la investigación de Kültekin, el problema surge cuando OpenSSH intenta verificar una contraseña para una cuenta que no debería aceptarlas. Al no encontrar los datos necesarios en la cuenta protegida, el sistema utiliza información de otra cuenta para realizar la verificación. Cuando la contraseña introducida tiene entre 257 y 1.024 bytes, la función de procesamiento en musl devuelve un asterisco para indicar un error de procesamiento.

El problema crítico radica en que este asterisco coincide exactamente con el símbolo presente en la cuenta protegida. El servidor OpenSSH interpreta ambos valores como coincidentes, permitiendo el acceso no autorizado. Este es un claro ejemplo de cómo una medida de seguridad, diseñada para impedir accesos no autorizados, termina facilitándolos bajo circunstancias específicas.

Historia y contexto de la vulnerabilidad

La raíz de esta vulnerabilidad SSH en Linux se remonta a múltiples cambios en diferentes componentes del sistema, cada uno realizado con propósitos legítimos de seguridad. En 2012, musl modificó su método de comunicación de errores e introdujo un límite de longitud al procesar contraseñas para prevenir ataques de denegación de servicio. En 2016, OpenSSH implementó cambios para evitar enumeración de usuarios mediante análisis de tiempos de respuesta. Finalmente, en 2022, Alpine ajustó la configuración de su cuenta administrativa para permitir acceso mediante claves SSH.

Cada una de estas soluciones resolvía problemas específicos y legítimos, pero al combinarse inadecuadamente, crearon la condición perfecta para que esta vulnerabilidad SSH en Linux existiera sin ser detectada durante casi una década.

¿Qué sistemas están realmente en riesgo?

La firma de ciberseguridad Check Point ha analizado detalladamente qué equipos pueden ser vulnerables a este ataque. Simplemente usar Alpine Linux no garantiza vulnerabilidad; se deben cumplir varias condiciones simultáneamente. Entre ellas figuran que OpenSSH funcione sin PAM, que permita autenticación mediante contraseña, y que exista una cuenta con el asterisco en /etc/shadow. Además, debe haber presente otra cuenta local activa con un hash de contraseña generado mediante SHA-256 o SHA-512.

Los sistemas que desactivan completamente la autenticación mediante contraseña están fuera del alcance de este ataque, al igual que aquellos que utilizan PAM para gestionar la autenticación. Sin embargo, muchas imágenes de contenedores y sistemas en la nube utilizados en entornos empresariales sí podrían ser vulnerables si reúnen estas condiciones específicas.

Gravedad del impacto en entornos empresariales

Las consecuencias de esta vulnerabilidad SSH en Linux pueden ser especialmente graves cuando la cuenta comprometida dispone de permisos elevados de administrador. Alpine proporciona ejemplos documentados donde usuarios específicos pueden ejecutar comandos administrativos sin introducir contraseña adicional mediante herramientas como doas. Aunque estas imágenes de contenedor son seguras en su primer arranque, se vuelven vulnerables si posteriormente se configura una cuenta con un hash de contraseña compatible.

En tal escenario, un atacante remoto podría obtener control administrativo total del sistema. Prueba de la relevancia real de esta amenaza es que la firma Previdian ha reportado haber detectado ocho intentos de explotación desde la misma dirección IP, con al menos una instancia confirmada de acceso administrativo exitoso en servidores señuelo.

Parches y medidas de mitigación disponibles

La respuesta a este descubrimiento ha sido rápida en la comunidad de seguridad. OpenSSH lanzó la versión 10.6p2 el 5 de noviembre para corregir esta vulnerabilidad SSH en Linux. Alpine Linux distribuyó actualizaciones para distintas ramas de su sistema, incluyendo versiones antiguas de larga duración. Sin embargo, los responsables advierten que simplemente instalar los parches no es suficiente; es absolutamente necesario reiniciar el servicio SSH para que el código corregido entre en vigor.

Pasos recomendados para protegerse

Para aquellos usuarios que aún no pueden aplicar actualizaciones inmediatamente, Alpine recomienda desactivar la autenticación mediante contraseña en OpenSSH. Este cambio también requiere reiniciar el servicio SSH. Es fundamental verificar previamente que el acceso mediante claves criptográficas funciona correctamente, para evitar quedar bloqueado del sistema después de desactivar el acceso por contraseña.

La implementación de estas medidas de protección debe realizarse de manera ordenada y cuidadosa, especialmente en entornos de producción donde un error podría resultar en pérdida de acceso a sistemas críticos. Los administradores de sistemas deben priorizar la actualización de todos sus servidores afectados lo antes posible.

Conclusión sobre la seguridad de sistemas Linux

Este incidente demuestra cómo decisiones de seguridad bien intencionadas en diferentes componentes de un sistema pueden interactuar de formas imprevistas, creando vulnerabilidades graves. La importancia de mantener sistemas actualizados, auditar configuraciones de seguridad y realizar evaluaciones regulares de vulnerabilidades nunca ha sido tan evidente. Los administradores de Linux deben actuar inmediatamente para evaluar si sus sistemas son vulnerables a esta vulnerabilidad SSH en Linux y aplicar los parches correspondientes.

También en tu zona