regreSSHion pone en riesgo a la mayoría de las distribuciones de Linux.
Los desarrolladores de OpenSSH han corregido una vulnerabilidad crítica que podría permitir la ejecución remota de código con privilegios de root en sistemas Linux basados en glibc. La falla fue descubierta por expertos de la empresa Qualys.
La vulnerabilidad CVE-2024-6387, del tipo Race Condition, se encuentra en el componente del servidor de OpenSSH, también conocido como sshd, que está diseñado para escuchar conexiones de cualquier aplicación cliente.
OpenSSH es un conjunto de herramientas de software que proporciona acceso remoto seguro utilizando el protocolo de cifrado SSH. Este conjunto está incluido en todos los sistemas Linux basados en glibc, lo que significa prácticamente todas las grandes distribuciones (excepto Alpine Linux, que usa libc). Los sistemas BSD no son vulnerables a esta falla. Qualys aún no sabe hasta qué punto los sistemas operativos macOS o Windows pueden verse afectados.
Qualys ha identificado al menos 14 millones de instancias potencialmente vulnerables de servidores OpenSSH accesibles a través de Internet. Se señala que el error descubierto, denominado "regreSSHion", es una regresión de una vulnerabilidad de 18 años ya corregida (CVE-2006-5051, con una puntuación CVSS de 8.1).
Una regresión aquí significa que un error corregido reaparece en una versión posterior del software, generalmente debido a cambios o actualizaciones que accidentalmente reintroducen el problema. En este caso, el error fue reintroducido en octubre de 2020 en la versión OpenSSH 8.5p1.
La explotación exitosa de la vulnerabilidad se demostró en sistemas Linux/glibc de 32 bits con randomización del espacio de direcciones (ASLR). En condiciones de laboratorio, el ataque requiere un promedio de 6-8 horas de conexiones continuas hasta el máximo que puede manejar el servidor. No se han reportado casos de explotación de regreSSHion en condiciones reales.
Qualys explica que si un cliente no pasa la autenticación en 120 segundos (una configuración determinada por LoginGraceTime), el manejador sshd SIGALRM se invoca de manera asincrónica de una forma que no es segura para las señales asincrónicas.
El resultado final de la explotación es la completa compromisión y toma del control del sistema, permitiendo a los atacantes ejecutar código arbitrario con los más altos privilegios, eludir mecanismos de seguridad, robar datos e incluso mantener acceso persistente.
La vulnerabilidad afecta a las versiones entre 8.5p1 y 9.7p1. Las versiones anteriores a la 4.4p1 también son vulnerables al error de condición de carrera si no se han corregido para CVE-2006-5051 y CVE-2008-4109. Cabe destacar que los sistemas OpenBSD no son vulnerables a esta falla, ya que incluyen un mecanismo de seguridad que bloquea la vulnerabilidad. La corrección se implementó en la versión 9.8p1.
Los investigadores instan a las organizaciones a instalar inmediatamente las actualizaciones, reconfigurar sshd y segmentar las redes donde sea posible. Si la actualización o recompilación de sshd no es posible, se debe establecer el parámetro LoginGraceTime a 0 en el archivo de configuración. Esto puede hacer que sshd sea vulnerable a ataques DoS, pero previene el riesgo de ejecución remota de código.