Seguridad y privacidad

Se publica un exploit público para una vulnerabilidad crítica de ejecución remota de código en FortiSIEM

Los investigadores publicaron una prueba de concepto (PoC) para CVE-2026-106173, una vulnerabilidad RCE crítica sin autenticación en FortiSIEM que permite a los atacantes sobrescribir archivos del sistema mediante gRPC.

Rack de servidores con luz de advertencia roja y eslabón de cadena roto
Ilustración creada para este artículo

Traducido automáticamente del original en inglés.

Investigadores de seguridad han publicado un exploit funcional con prueba de concepto para una vulnerabilidad crítica en la plataforma FortiSIEM de Fortinet. El fallo, identificado como CVE-2026-106173, permite a atacantes no autenticados ejecutar código arbitrario en los sistemas afectados. Fortinet lanzó parches para este problema la semana pasada, instando a los administradores a actualizar inmediatamente.

Qué ocurrió

La vulnerabilidad tiene una puntuación CVSS de 9.4, lo que indica un riesgo severo para entornos empresariales. Se trata de un fallo de recorrido de ruta (path traversal) que permite a un atacante escribir archivos en ubicaciones no autorizadas del sistema de archivos del servidor. Al combinar esta capacidad de escritura de archivos con configuraciones específicas del sistema, un atacante puede lograr la ejecución remota de código sin necesidad de credenciales válidas.

Horizon3.ai detalló los mecanismos técnicos del exploit. El problema reside en el servicio gRPC, que escucha en el puerto TCP 27918. El servicio procesa metadatos de las solicitudes entrantes sin validar correctamente las rutas de archivo. Un atacante puede enviar paquetes especialmente diseñados que contienen secuencias de recorrido de directorio, como "../", para escapar del directorio previsto y apuntar a archivos sensibles del sistema.

El exploit aprovecha una segunda debilidad que involucra la inyección de bytes nulos. Aunque la aplicación añade su propio sufijo de nombre de archivo a cualquier archivo escrito, incrustar un byte nulo ("\0") en la solicitud hace que el sistema operativo ignore todo lo que sigue a ese carácter. Esto permite al atacante especificar el nombre de archivo y la ruta exactos, sobrescribiendo efectivamente scripts existentes o creando nuevos maliciosos.

Detalles clave

  • ID de la vulnerabilidad: CVE-2026-106173 con una puntuación CVSS de 9.4.
  • Versiones afectadas: FortiSIEM 7.5.0 es vulnerable; los usuarios deben actualizarse a la versión 7.5.1 o posterior.
  • Versiones no afectadas: FortiSIEM 7.6 no se ve afectada por este fallo específico.
  • Vector de ataque: Acceso no autenticado a través del servicio gRPC en el puerto TCP 27918.
  • Método de exploit: Recorrido de ruta combinado con inyección de bytes nulos en el parámetro "query-id".
  • Archivo objetivo: La prueba de concepto sobrescribe /opt/charting/redishb.sh, un script de comprobación de estado de Redis ejecutado por cron cada 60 segundos.

Contexto

FortiSIEM es una herramienta de gestión de información y eventos de seguridad utilizada por organizaciones para monitorear la actividad de red y detectar amenazas. Como muchas herramientas empresariales, depende de servicios en segundo plano para mantener la salud del sistema y procesar datos. Uno de estos servicios es un trabajo cron, un programador basado en tiempo en sistemas operativos tipo Unix que ejecuta scripts en intervalos fijos.

En este caso, el sistema ejecuta un script de shell llamado redishb.sh cada minuto para comprobar el estado del servicio de base de datos Redis. Dado que este script se ejecuta con privilegios elevados y en un horario predecible, se convierte en un objetivo ideal para los atacantes. Si un atacante puede sobrescribir este script con código malicioso, el sistema ejecutará dicho código automáticamente en cuestión de minutos, otorgando al atacante control total sobre el servidor.

El uso de gRPC, un marco de llamada a procedimiento remoto de alto rendimiento, añade complejidad a la superficie de ataque. gRPC utiliza HTTP/2 para el transporte, que admite funciones avanzadas como la compresión de cabeceras HPACK. El exploit aprovecha cómo estas capas manejan los metadatos, permitiendo al atacante inyectar caracteres dañinos que evaden las comprobaciones estándar de validación.

Por qué importa

Para los equipos que gestionan infraestructuras de seguridad autoalojadas, este incidente destaca el peligro de los servicios no autenticados expuestos en redes internas. Incluso si un servicio no es directamente accesible desde Internet, el movimiento lateral dentro de una red puede permitir a los atacantes alcanzar puertos como el 27918. Una vez dentro, la falta de autenticación significa que no hay barreras para enviar paquetes maliciosos.

La dependencia de trabajos cron para el mantenimiento del sistema crea una ventana de ejecución predecible. Los atacantes saben exactamente cuándo se ejecutará su código malicioso, reduciendo la incertidumbre típicamente asociada con la explotación. Esta previsibilidad hace que la vulnerabilidad sea particularmente peligrosa, ya que transforma un error de escritura de archivos en un vector fiable de ejecución remota de código.

Además, la publicación pública de un exploit con prueba de concepto aumenta significativamente el riesgo. Es probable que las herramientas de escaneo automatizado y los actores de amenazas comiencen a sondear instancias sin parchear inmediatamente. Las organizaciones que retrasan la aplicación de parches se dejan abiertas a un compromiso rápido, pudiendo perder visibilidad sobre sus propios eventos de seguridad si el propio SIEM se ve comprometido.

Qué puedes hacer

  • Actualiza las instalaciones de FortiSIEM 7.5.0 a la versión 7.5.1 o superior inmediatamente.
  • Verifica que las implementaciones de FortiSIEM 7.6 estén actualizadas, aunque no se ven afectadas por este CVE específico.
  • Restringe el acceso de red al puerto TCP 27918 utilizando firewalls o grupos de seguridad, permitiendo solo IPs de administración confiables.
  • Monitorea los registros del sistema para detectar modificaciones inesperadas en archivos dentro de /opt/charting/ u otros directorios críticos.
  • Revisa las configuraciones de los trabajos cron para asegurarte de que los scripts estén protegidos contra escrituras no autorizadas y tengan permisos estrictos.
  • Implementa segmentación de red para limitar el movimiento lateral, asegurando que los endpoints comprometidos no puedan llegar fácilmente a las interfaces de administración.

Más noticias

Todas las noticias