Vulnerabilidad en OpenSSH
INTRODUCCIÓN
Qualys descubrió una vulnerabilidad que afecta a sshd en su configuración por defecto en el servidor de OpenSSH. La explotación exitosa permite al atacante sobrescribir estructuras de memoria críticas, lo que lleva a la ejecución de código arbitrario. Esto resulta en el control remoto del servidor con privilegios de root como se muestra en el código en el repositorio de GitHub.
Anticipamos que esta vulnerabilidad sea explotada debido al uso generalizado de SSH y la disponibilidad del POC.
ANÁLISIS
CVE-2024-6387 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - 8.1:
Se ha encontrado una condición de carrera del manejador de señales en el servidor de OpenSSH (sshd), cuando un cliente no se autentica dentro de los segundos LoginGraceTime (120 por defecto, 600 en versiones antiguas de OpenSSH), lo que provoca que el manejador SIGALRM de sshd sea llamado de forma asíncrona. Sin embargo, este manejador de señales llama a varias funciones que no son seguras para señales asíncronas, por ejemplo, syslog().
VERSIONES AFECTADAS
OpenSSH < 4.4p1 es vulnerable a esta condición de carrera del manejador de señales, si no está parcheado contra CVE-2006-5051, o no está parcheado contra CVE-2008-4109, que era una corrección incorrecta para CVE-2006-5051.
8.5p1 <= OpenSSH < 9.8p1 es vulnerable de nuevo a esta condición de carrera del manejador de señales (porque el "#ifdef DO_LOG_SAFE_IN_SIGHAND" fue accidentalmente eliminado de sigdie()).
RECOMENDACIONES
Actualice a la versión 9.8p1 de OpenSSH que incluye las modificaciones realizadas el 6 de junio en el commit 81c1099.
También se ha indicado que, en caso de que sshd no pueda actualizarse o recompilarse la versión de OpenSSH, esta condición de carrera del manejador de señales puede solucionarse simplemente estableciendo LoginGraceTime a 0 en el archivo de configuración. Esto hace que sshd sea vulnerable a una denegación de servicio (el agotamiento de todas las conexiones MaxStartups), pero lo hace a salvo de la ejecución remota de código presentada en este aviso.
REFERENCIAS
https://www.qualys.com/2024/07/01/cve-2024-6387/regresshion.txt
https://nvd.nist.gov/vuln/detail/CVE-2024-6387
https://github.com/acrono/cve-2024-6387-poc