Ejecución remota sin contraseña en FortiSIEM: Cómo un byte nulo desarma la seguridad corporativa

Horizon3.ai publica la prueba de concepto para la vulnerabilidad crítica CVE-2026-106173 en FortiSIEM. Análisis técnico, riesgos en infraestructura y medidas de contención inmediata.

Fecha de publicación: 2026.10.21

El guardián comprometido: Una brecha en el puerto 27918 expone el núcleo de la red

Cuando el sistema encargado de vigilar las intrusiones en una empresa contiene una puerta trasera involuntaria, toda la arquitectura de defensa queda en entredicho. Esto es exactamente lo que ocurre con la vulnerabilidad identificada como CVE-2026-106173, una falla crítica con una puntuación de gravedad de 9,4 sobre 10 que afecta a la plataforma de gestión de eventos e información de seguridad FortiSIEM.

El problema se agravó notablemente tras la publicación abierta de una prueba de concepto (PoC) funcional por parte de los investigadores de Horizon3.ai. Este código demuestra cómo cualquier atacante sin credenciales de acceso puede tomar el control absoluto del servidor ejecutando comandos remotos con los privilegios más altos del sistema operativo.

Para comprender la magnitud del riesgo, conviene visualizar la estructura operativa de un centro de operaciones de seguridad. FortiSIEM actúa como la torre de control de una empresa: recibe millones de registros por segundo de cortafuegos, servidores de bases de datos, conmutadores de red y estaciones de trabajo. Si un atacante logra comprometer esa máquina, no solo puede apagar las alarmas, sino también leer información confidencial y utilizar el servidor como trampolín para infectar el resto de la red corporativa.

El origen de la falla radica en el servicio gRPC interno phQueryMaster, diseñado para coordinar consultas entre distintos nodos de la plataforma y configurado de forma predeterminada para escuchar tráfico en el puerto TCP 27918. Este componente carece de un mecanismo de autenticación mutua mediante certificados de cliente, lo que significa que procesa cualquier paquete entrante que logre alcanzar ese puerto. A partir de ahí, una validación deficiente en la función SendQueryResult() permite al atacante salir de los directorios permitidos e inyectar un byte nulo (\0) a través de los encabezados HTTP/2 y HPACK.

Mecanismo del ataque CVE-2026-106173 en FortiSIEM

De la conexión sin credenciales a la ejecución de código en 60 segundos

Acceso inicial

Conexión directa al puerto TCP 27918

El servicio gRPC phQueryMaster no solicita autenticación ni certificado a los clientes entrantes.

Manipulación

Inyección de saltos de directorio y byte nulo

El parámetro query-id procesa secuencias ../ y un terminador de cadena para sobreescribir redishb.sh.

Ejecución de código

Activación automática por cron job

El programador de tareas del sistema ejecuta el script infectado en un lapso máximo de 60 segundos.

El truco técnico es tan simple como devastador. En circunstancias normales, la aplicación añade un sufijo obligatorio a los archivos creados, como result-<IP>-0-0-<id>.dat, impidiendo que un usuario elija el nombre final del archivo. Sin embargo, en el lenguaje C y en las llamadas del sistema del kernel Linux, el byte nulo indica el final absoluto de una cadena de texto. Al introducir este carácter tras la ruta deseada, el sistema operativo ignora por completo el sufijo impuesto por FortiSIEM y sobrescribe directamente el archivo objetivo.

El archivo seleccionado por los investigadores para demostrar el ataque es /opt/charting/redishb.sh, un script de shell encargado de verificar el estado del motor de memoria Redis. Debido a que el sistema operativo ejecuta este script cada 60 segundos mediante una tarea programada interna (cron job), el atacante solo necesita escribir su carga maliciosa una vez y esperar un minuto para que el servidor ejecute sus órdenes con privilegios de administrador.


Anatomía técnica y métricas: Comparativa de impacto de la vulnerabilidad CVE-2026-106173

La gravedad de una vulnerabilidad informática se mide tanto por la facilidad con la que puede explotarse como por el daño que produce en el entorno corporativo. A diferencia de otros fallos que requieren que un atacante engañe previamente a un empleado para que abra un enlace o que consiga credenciales de un usuario básico, este defecto no exige ningún requisito previo.

A continuación se detalla la matriz de riesgo del fallo frente a los parámetros operativos convencionales de un entorno de monitorización empresarial:

Parámetro evaluadoEscenario estándar protegidoEscenario vulnerable (CVE-2026-106173)Nivel de fricción técnica
Requisito de autenticaciónCredenciales de administrador o token de APINinguno (acceso anónimo directo)Crítico: barrera de entrada nula
Puerto y protocolo expuestoHTTPS restringido (puerto 443 con TLS)gRPC / HTTP/2 sobre TCP 27918Crítico: servicio sin inspección perimetral
Vector de ataque principalManipulación de interfaz web con WAFInyección HPACK binaria en metadatos gRPCAlto: indetectable por cortafuegos web clásicos
Mecanismo de escapeDirectorios aislados en contenedores o jaulasSalto de directorio (../) con truncamiento nuloCrítico: evasión total de ruta de datos
Tiempo hasta ejecución efectivaNo aplicable1 a 60 segundos (dependiente del ciclo cron)Inmediato: ejecución desatendida
Registro de auditoría internaBitácoras detalladas en syslog y SIEMInexistencia de registros de aplicación específicosSevero: detección forense ciega
Versiones comprometidasVersión 7.5.1 o superiores (parcheadas)FortiSIEM versión 7.5.0Alto: requiere actualización obligatoria

Para complementar la tabla, las siguientes métricas sintetizan el comportamiento de la superficie de ataque y el margen de reacción de los equipos de ciberseguridad:

Parámetros críticos de respuesta y ventana de compromiso

Indicadores clave extraídos del análisis de ingeniería inversa de Horizon3.ai

9,4 / 10

Puntuación base CVSS v3.1

Calificación oficial de criticidad que refleja acceso remoto no autenticado.

60 s

Ventana de ejecución (Cron)

Tiempo máximo para que el script redishb.sh ejecute la carga del intruso.

0 bytes

Rastro en logs de aplicación

El servicio no genera alarmas directas al producirse la escritura maliciosa.

Un elemento especialmente peligroso revelado por los análisis forenses es la persistencia silenciosa. Cuando el exploit sobrescribe /opt/charting/redishb.sh, conserva los propietarios y los permisos originales del archivo en el sistema de archivos de Linux. Salvo que la organización disponga de sistemas de comprobación de integridad en tiempo real (FIM), los auditores no perciben ninguna anomalía a simple vista en la consola del producto.


Impacto operativo en la empresa: Costes, tiempos de respuesta y estabilidad de la infraestructura

Un incidente de seguridad de esta naturaleza no es simplemente un problema de ingeniería informática; representa un golpe directo a la continuidad operativa del negocio. Si el servidor SIEM cae bajo control ajeno, los tres pilares de la gestión de infraestructuras (coste operativo, tiempo de respuesta e integridad del servicio) sufren alteraciones inmediatas.

1. Disparo imprevisto del gasto operativo (OPEX)

La remediación de una vulnerabilidad de severidad 9,4 con exploit público obliga a desplegar turnos de guardia extraordinarios. Las empresas deben movilizar a ingenieros de redes, administradores de sistemas y analistas de seguridad para auditar cada nodo de FortiSIEM expuesto.

En una simulación de costes para una compañía mediana con tres nodos de monitorización distribuidos, el impacto económico directo comprende:

  • Auditoría forense de emergencia para verificar que ningún atacante utilizó la PoC antes de aplicar el parche: aproximadamente 40 a 60 horas de especialistas externos, con un coste estimado entre 8.000 y 15.000 dólares.
  • Horas extraordinarias de personal interno para pruebas de no regresión y actualización de firmware en horario nocturno: entre 2.500 y 5.000 dólares.
  • En caso de intrusión confirmada, los costes de notificación regulatoria, análisis de fuga de datos y eventuales sanciones elevan la factura por encima de los 150.000 dólares en entornos bajo normativas como NIS2 en Europa o regulaciones del sector financiero.

2. Parálisis en los tiempos de respuesta y gestión de alertas (Lead Time)

El SIEM es la herramienta central con la que el equipo de guardia detecta si un empleado fue víctima de phishing o si un servidor sufre un ataque de fuerza bruta. Durante el proceso de contención y actualización a la versión 7.5.1, el flujo continuo de ingesta de registros debe pausarse o redirigirse.

Esta interrupción genera retrasos críticos:

  • Acumulación de eventos: Cada hora de desconexión del analizador genera una cola de millones de eventos en memoria o en disco que luego tardan entre 4 y 12 horas en procesarse por completo.
  • Ceguera temporal: Mientras el servicio se reinicia o se aplica el aislamiento de red en el puerto 27918, el equipo de analistas pierde la correlación automática de amenazas, lo que incrementa el tiempo de detección de incidentes cotidianos de 15 minutos a más de 6 horas.

3. Riesgo de manipulación y ruptura en la cadena de confianza

El daño más profundo radica en la fiabilidad de la información almacenada. Si un atacante reemplaza scripts del sistema con permisos de administración, obtiene la capacidad técnica de alterar las bases de datos de eventos, borrar registros de actividad previos y sembrar pistas falsas.

Esto desintegra la validez jurídica de las auditorías de seguridad. Si los informes de cumplimiento de una empresa dependen de un repositorio cuyos registros pudieron ser editados sin dejar rastro en los ficheros de log, la organización pierde la capacidad de demostrar ante clientes y reguladores que sus controles estuvieron operativos.


Mecanismos de aislamiento, plataformas alternativas y lecciones de arquitectura

La aparición de fallos críticos en aplicaciones corporativas expuestas suele dejar al descubierto fallos de diseño de red elementales. El hecho de que un servicio gRPC pensado exclusivamente para la comunicación entre nodos internos (phQueryMaster) pudiera ser alcanzado directamente demuestra la urgencia de aplicar el principio de menor exposición.

Muchas organizaciones cometen el error de asumir que, al tratarse de un puerto poco convencional (TCP 27918), los atacantes no lo encontrarán. Sin embargo, los motores de escaneo masivo de Internet indexan puertos no estándar en cuestión de horas. Por ello, la primera barrera técnica indiscutible no es esperar al parche, sino cerrar el puerto a nivel perimetral.

Nivel de exposición según la configuración de red perimetral

Comparativa de superficie de riesgo antes y después de aplicar reglas de contención

Red abierta / Sin segmentar Red protegida / Microsegmentada
Visibilidad pública del puerto 27918 Red abierta / Sin segmentar 100% expuesto vs Red protegida / Microsegmentada 0% (bloqueado) (Superficie anulada)
100% expuesto
0% (bloqueado)
Requisitos de acceso a la API gRPC Red abierta / Sin segmentar Sin credenciales vs Red protegida / Microsegmentada Túnel VPN / mTLS (Acceso autenticado)
Sin credenciales
Túnel VPN / mTLS
Probabilidad de explotación exitosa Red abierta / Sin segmentar Crítica (PoC pública) vs Red protegida / Microsegmentada Residual interna (-88% riesgo)
Crítica (PoC pública)
Residual interna

Las empresas que salieron mejor paradas tras la publicación del aviso de seguridad contaban con políticas estrictas de segmentación:

  1. Reglas de cortafuegos de denegación predeterminada (Default Deny): Sus cortafuegos de frontera bloquean todo el tráfico entrante salvo los puertos 80 y 443 hacia servicios web explícitamente autorizados. Para estas compañías, la existencia del fallo en el puerto 27918 representó una tarea rutinaria de actualización interna y no una emergencia de medianoche.
  2. Monitorización de integridad de archivos (FIM): Aquellos centros de datos que ejecutan agentes de control de cambios en el sistema de archivos recibieron alertas instantáneas en sus consolas en cuanto una prueba de concepto intentó alterar el fichero /opt/charting/redishb.sh.
  3. Plataformas de observabilidad nativas en la nube: Organizaciones que han migrado parte de su supervisión de infraestructura y registros a entornos como Datadog delegan la gestión del sistema operativo base, los servicios gRPC subyacentes y el ciclo de parches en el proveedor de la plataforma, evitando la necesidad de administrar paquetes Linux individuales ni programadores cron en servidores locales.

Protocolo de contención inmediata y tres líneas de defensa para mitigar la amenaza

Ante la existencia de una prueba de concepto pública y plenamente funcional, las empresas que operan instancias locales de FortiSIEM 7.5.0 deben activar un protocolo de contingencia estructurado. No basta con programar el parche para la siguiente ventana de mantenimiento mensual; se requiere una respuesta táctica escalonada.

Primera línea de defensa: Bloqueo de red y revisión forense urgente

La acción prioritaria que debe ejecutarse en los primeros 30 minutos no requiere reiniciar servidores ni interrumpir la producción:

  • Cierre perimetral del puerto 27918: Verificar y bloquear en los cortafuegos de borde cualquier intento de conexión externa hacia el puerto TCP 27918. Este puerto jamás debe estar accesible desde direcciones IP públicas ni desde segmentos de red corporativa no autorizados.
  • Filtrado entre zonas internas: Restringir el tráfico al puerto 27918 exclusivamente a las direcciones IP de los nodos legítimos de FortiSIEM (Super, Worker y Collector) que requieran comunicarse entre sí.
  • Inspección de marcas de tiempo en disco: Dado que la aplicación no registra la intrusión en sus bitácoras estándar, los administradores deben acceder a la consola del servidor por SSH y comprobar la fecha de última modificación del archivo clave mediante la instrucción: stat /opt/charting/redishb.sh Si la marca de tiempo de modificación no coincide con la fecha de instalación original del sistema operativo, el equipo debe aislar la máquina inmediatamente por sospecha fundamentada de compromiso previo.

Segunda línea de defensa: Actualización de versión y refuerzo de credenciales

Una vez asegurada la red, se procede con la eliminación de la causa raíz:

  • Instalación de FortiSIEM 7.5.1: Fortinet corrigió de manera definitiva la función SendQueryResult() en la versión 7.5.1. Las empresas que ejecutan la versión 7.5.0 deben aplicar este paquete de actualización oficial siguiendo el manual de soporte del fabricante. Conviene recordar que las versiones de la rama 7.6 y la edición FortiSIEM Cloud no presentan esta debilidad estructural.
  • Revisión de tareas cron secundarias: Inspeccionar los directorios /etc/cron* y /var/spool/cron para verificar que no existan tareas recién creadas con nombres anómalos o llamadas a ejecutables temporales en /tmp o /dev/shm.

Tercera línea de defensa: Rediseño de políticas y auditoría de superficie

Para evitar que futuros fallos en servicios auxiliares vuelvan a poner en riesgo toda la infraestructura, la organización debe implementar cambios estructurales en los siguientes 15 días:

  • Auditoría de servicios en escucha: Realizar escaneos internos periódicos para catalogar todos los procesos que abren puertos en interfaces globales (0.0.0.0 o [::]). Cualquier servicio de gestión interna debe quedar limitado a interfaces de bucle local (127.0.0.1) o requerir túneles cifrados con autenticación mutua TLS (mTLS) de manera obligatoria.
  • Principio de inmutabilidad en sistemas de seguridad: Configurar los directorios que contienen scripts del sistema (/opt, /usr/bin) con atributos de solo lectura mediante módulos de seguridad del núcleo (como SELinux o AppArmor), impidiendo que un proceso con permisos de usuario estándar o de servicio pueda sobrescribir archivos ejecutables.
  • Revisión del inventario de telemetría: Confirmar que todos los colectores de eventos reporten de forma redundante a un repositorio de almacenamiento en frío (WORM, por sus siglas en inglés: Write Once, Read Many), garantizando que ningún incidente en la máquina de procesamiento pueda destruir el histórico legal de auditoría de la empresa.
Boletín Semanal

Resumen Semanal de Tecnología y Datos de Negocio

Análisis de software verificado, consideraciones clave y métricas de comercio cada semana.

Cancela tu suscripción en 1 clic cuando quieras. Cero spam.

* Es posible que recibamos una comisión de afiliado por los enlaces en este informe, sin coste adicional para usted ni impacto en nuestros datos.