CVE‑2024‑7589 es una vulnerabilidad crítica de ejecución remota de código no autenticado (RCE) en OpenSSH dentro de FreeBSD. Específicamente, durante el tiempo de gracia de autenticación (LoginGraceTime), el demonio sshd instala un manejador de señales que llama a funciones de registro no seguras en contexto de señal, lo que posibilita una condición de carrera explotable por un atacante remoto y sin privilegios previos.
El puntaje CVSS 3.1 es 8.1 (High): aplicable en redes, requiere complejidad alta, sin privilegios ni interacción de usuario, y puede comprometer confidencialidad, integridad y disponibilidad.
Cuando un cliente no completa la autenticación en el tiempo establecido, sshd envía una señal que activa un handler. Este handler realiza un registro, pero utiliza funciones que no son async-signal-safe, es decir, no están diseñadas para entornos de señal y pueden corromper el estado interno del proceso.
Este patrón replicó el fallo reportado anteriormente (CVE‑2024‑6387). La integración del módulo blacklistd en sshd exacerbó el problema: estando en un contexto privilegiado y sin sandbox, un atacante puede provocar la señal en el momento justo y desencadenar la carrera.
El resultado: un exploit puede sobrescribir:
El atacante inicia conexiones SSH incompletas (envía clave pública/BANNER sin autenticarse).
Tras alcanzar el LoginGraceTime, sshd lanza SIGALRM o similar.
El handler de señal registra un evento usando funciones inseguras.
Surge la condición de carrera: se corrompe el estado del proceso.
Con suficiente precisión, el atacante introduce payload que redirige la ejecución al shellcode.
Se obtiene una shell con privilegios root.
Aunque la complejidad sea alta, el impacto es severo, ya que permite RCE sin credenciales ni interacción adicional.
FreeBSD ya lanzó el parche correspondiente en su boletín FreeBSD-SA-24:08.openssh. Recomiendan aplicar actualizaciones a la versión de OpenSSH incluida en FreeBSD y reiniciar sshd.
Como medida inmediata se puede configurar en /etc/ssh/sshd_config:
LoginGraceTime 0
Esto deshabilita el tiempo de espera, evitando que se dispare la señal vulnerable. Sin embargo, puede provocar DoS, ya que las conexiones SSH sin autenticación se cerrarán de inmediato.
CVE‑2024‑7589 destaca formas sutiles en que la integración de componentes adicionales sin las validaciones necesarias puede reintroducir fallas clásicas en software crítico.
🔍 Puntos clave:
📌 Recomendación técnica:
🔒 Implicaciones de seguridad: