星期日, 7 7 月, 2024

OpenSSH 問世以來第一個 RCE: CVE-2024-6387

OpenSSH: La primera vulnerabilidad de ejecución remota de código (RCE) en 26 años

Desde su lanzamiento en 1995, OpenSSH ha sido una herramienta esencial para la administración remota de sistemas. Sin embargo, recientemente se ha descubierto una vulnerabilidad de ejecución remota de código (RCE) que permite a los atacantes tomar el control del sistema con privilegios de administrador. Este fallo ha sido bautizado como “regreSSHion” por los investigadores que lo descubrieron.

OpenSSH es un software de código abierto basado en el protocolo SSH, comúnmente utilizado en sistemas Linux para la administración remota y transferencia de archivos. La vulnerabilidad, identificada como CVE-2024-6387, fue descubierta en mayo de 2024 por la empresa de seguridad informática Qualys. El problema reside en el archivo sshd, que permite a los atacantes ejecutar código arbitrario con privilegios de root.

El archivo sshd es la configuración del servidor OpenSSH y contiene una variable llamada LoginGraceTime. Si esta variable no se modifica, su valor predeterminado es de 120 segundos, lo que representa el tiempo que se le da a un usuario para autenticarse al conectarse a través de SSH. Si el usuario no completa la autenticación dentro de este tiempo, el sshd activará la señal SIGALRM y llamará a una función asincrónica insegura, lo que permite a los atacantes aprovechar una condición de carrera (race condition) para ejecutar código con privilegios de administrador.

La condición de carrera es un problema común en sistemas de múltiples hilos, donde varios hilos acceden o modifican datos compartidos al mismo tiempo. En este caso, la señal SIGALRM puede desencadenar una condición de carrera, lo que resulta en un comportamiento imprevisto.

Tras una investigación más profunda, los investigadores descubrieron que esta vulnerabilidad es en realidad una reincidencia de CVE-2006-5051, descubierta en 2006 por Mark Dowd. Ambas vulnerabilidades son causadas por una condición de carrera en el manejo de señales, lo que permite a los atacantes realizar ataques de denegación de servicio.

El término “regreSSHion” se debe a que en octubre de 2020, la versión 8.5p1 de OpenSSH (commit 752250c) eliminó una línea de código #ifdef DO_LOG_SAFE_IN_SIGHAND en la función de manejo de señales sigdie(). Esto resultó en:

– Las versiones de OpenSSH anteriores a 4.4p1 son vulnerables debido a una mala corrección de CVE-2006-5051.
– Las versiones de OpenSSH entre 4.4p1 y 8.5p1 no son vulnerables debido a la adición de #ifdef DO_LOG_SAFE_IN_SIGHAND en CVE-2006-5051.
– Las versiones de OpenSSH entre 8.5p1 y 9.8p1 son vulnerables nuevamente debido a la eliminación accidental de #ifdef DO_LOG_SAFE_IN_SIGHAND.

Los investigadores de Qualys señalaron que, aunque la vulnerabilidad es significativa, no es fácil de explotar. En sus pruebas, se necesitaron alrededor de 10,000 intentos de conexión para lograr un ataque exitoso.

Los investigadores realizaron pruebas en dos sistemas operativos diferentes: Ubuntu 6.06.1 y Debian 12.5.0. En promedio, se necesitaron entre 1 y 2 días para un ataque exitoso en Ubuntu, mientras que en Debian se necesitaron entre 6 y 8 horas.

Actualmente, los investigadores están escaneando la red mundial a través de Shodan y Censys y han encontrado más de 14 millones de servidores OpenSSH expuestos en Internet. De estos, se estima que 700,000 están en riesgo de ser at

最新文章