CVE-2026-104286: se explota un zero-day de FortiMail: solución temporal y comprobación de compromiso
Fortinet informa de una vulnerabilidad crítica de path traversal ya explotada en FortiMail 7.2 a 8.0 (CVE-2026-104286, CVSS 9.8). Aún no hay parche. La solución temporal desactiva IBE o bloquea la interfaz de administración desde Internet; además, se incluyen indicadores para comprobar un posible compromiso.
Fortinet publicó el 1 de octubre de 2026 el aviso FG-IR-26-175 sobre una vulnerabilidad crítica en FortiMail. Mediante solicitudes HTTP o HTTPS manipuladas, un atacante puede escribir archivos arbitrarios en el sistema subyacente sin autenticarse y, con ello, ejecutar código. La vulnerabilidad tiene el identificador CVE-2026-104286 y una puntuación CVSS de 9.8. Fortinet confirma que ya está siendo explotada; la agencia estadounidense CISA la añadió el mismo día a su catálogo de vulnerabilidades explotadas (KEV). A fecha del 2 de octubre aún no hay actualización, solo una solución temporal.
Asistencia con la solución temporal y la comprobación
Si necesita ayuda para implementar la solución temporal, comprobar un posible compromiso o aplicar la actualización más adelante, utilice el formulario de contacto en adeptio.ch. También respondo con poca antelación.
Certificado: Fortinet FortiMail 7.4 Administrator
Estoy certificado por Fortinet como FortiMail 7.4 Administrator. El examen abarca la implementación, administración, operación continua y resolución de problemas de FortiMail. Comprobar la insignia en Credly
Lo más importante en breve
| Característica | Información |
|---|---|
| Aviso | FG-IR-26-175, publicado el 1 de octubre de 2026 |
| CVE | CVE-2026-104286 |
| Evaluación | CVSS 3.1: 9.8 (crítica), AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| Tipo de vulnerabilidad | Path traversal (CWE-22) y caracteres NULL filtrados de forma insuficiente (CWE-158) |
| Requisito | sin autenticación, acceso por HTTP o HTTPS a la interfaz web |
| Componente según el aviso | GUI |
| Explotación | confirmada; CISA KEV desde el 1 de octubre de 2026 |
| Actualización | anunciada, no disponible a fecha del 2 de octubre |
| Solución temporal | desactivar IBE o bloquear la interfaz de administración desde Internet |
| Descubierta por | Fortinet internamente (Gwendal Guégniaud) |
Cronología
Todas las horas están en horario de verano de Europa Central (CEST). Cuando no se indica una hora, no hay información temporal fiable.
-
Mié., 1 de octubre
Aviso FG-IR-26-175
Fortinet publica el aviso con las versiones afectadas, la solución temporal y los indicadores. La explotación ya se conoce en ese momento; según el aviso, no existe un parche virtual para FortiGate IPS.
-
Mié., 1 de octubre, 08:46
Informe en heise online
heise informa sobre los ataques en curso y la solución temporal; según el informe, aún no hay actualizaciones para cerrar la vulnerabilidad.
-
Mié., 1 de octubre
Inclusión en el catálogo de CISA
CISA añade CVE-2026-104286 al catálogo Known Exploited Vulnerabilities. Según BleepingComputer y The Hacker News, las agencias federales estadounidenses deben aplicar actualizaciones o soluciones temporales antes del 4 de octubre.
-
A fecha del jue., 2 de octubre
Sigue sin resolverse
Las versiones corregidas 8.0.2, 7.6.7 y 7.4.9 están anunciadas, pero no publicadas. No hay información sobre el alcance de los ataques, las organizaciones afectadas ni el origen de los atacantes.
Versiones afectadas
| Rama | Afectada | Solución según el aviso |
|---|---|---|
| FortiMail 8.0 | 8.0.0 a 8.0.1 | Actualizar a 8.0.2 o posterior (anunciado) |
| FortiMail 7.6 | 7.6.0 a 7.6.6 | Actualizar a 7.6.7 o posterior (anunciado) |
| FortiMail 7.4 | 7.4.0 a 7.4.8 | Actualizar a 7.4.9 o posterior (anunciado) |
| FortiMail 7.2 | 7.2.0 a 7.2.9 | No hay corrección en la rama 7.2; migrar a 7.4 o posterior |
No se publicará ninguna actualización para la rama 7.2; estos sistemas deben migrar a 7.4 o posterior. Planificar ahora la ruta de actualización a partir de las notas de versión reduce el tiempo hasta actualizar cuando aparezca la versión corregida. Hasta entonces, solo queda la solución temporal.
La versión actual se muestra en la CLI con:
get system status
Medida inmediata: implementar la solución temporal
Fortinet indica dos variantes. Según el aviso, basta con una de ellas; cuando la operación lo permita, conviene aplicar ambas.
Variante 1: desactivar IBE
IBE (Identity-Based Encryption) es la función con la que FortiMail entrega mensajes cifrados a destinatarios externos: el destinatario recibe el mensaje como adjunto cifrado (push) o lo consulta a través del portal web de FortiMail (pull). Fortinet menciona la función IBE como solución temporal, por lo que los ataques se producen a través de una ruta de código de esta función. Se desactiva en la CLI:
config system encryption ibe
set status disable
end
Puede comprobar el estado antes y después con:
show system encryption ibe
La desactivación tiene consecuencias para el flujo de correo. Fortinet no las describe en el aviso. Por ello, antes del cambio debe aclarar:
-
Qué políticas usan IBE: en los perfiles de contenido y políticas, IBE se configura como acción de cifrado, por ejemplo con palabras clave en el asunto como
[secure]o en reglas de protección de datos. Estos mensajes no podrán entregarse cifrados mediante IBE durante la desactivación. -
Cómo deben tratarse estos mensajes: retenerlos, entregarlos mediante otro procedimiento (S/MIME, TLS obligatorio) o informar a los remitentes. Por lo general, no está permitido entregar sin cifrar mensajes que una política debe cifrar.
-
Quién se ve afectado: se debe informar a los destinatarios externos que consultan mensajes en el portal IBE y a los usuarios que envían mensajes cifrados.
Variante 2: bloquear la interfaz de administración desde Internet
La segunda variante bloquea el acceso desde Internet a la interfaz de administración o lo limita a redes privadas de confianza, como una red de gestión o una VPN. Puede implementarse en un firewall situado delante o mediante la configuración de acceso de las interfaces en FortiMail (Administrative Access).
El webmail, el acceso de los usuarios a la cuarentena y el portal IBE también funcionan mediante HTTPS. Si están en la misma interfaz que la administración, un bloqueo general de HTTPS también bloqueará estos servicios. En ese caso, la variante 1 es la vía más directa. SMTP en el puerto 25 no se ve afectado por ninguna de las dos variantes; el flujo de correo continúa.
Comprobar un posible compromiso
Dado que la vulnerabilidad se explotó antes del aviso, la solución temporal no descarta un ataque anterior. Fortinet publica en el aviso indicadores para comprobar un sistema.
Archivos
Fortinet ha encontrado los siguientes archivos en sistemas comprometidos. El aviso también indica valores hash; para la comparación, es determinante la lista del aviso.
| Ruta |
|---|
/data/lib/liblog.so |
/data/etc/ld.so.preload |
/bin/smit |
/data/bin/webconsole |
/data/bin/mailservice |
/data/etc/httpd.conf |
/data/migadmin.tar.gz |
Una entrada en /data/etc/ld.so.preload carga previamente la biblioteca indicada en cada proceso. Junto con liblog.so esto apunta a una puerta trasera persistente que sobrevive a un reinicio.
Direcciones IP
| Dirección |
|---|
79.141.169.187 |
45.129.0.192 |
Estas direcciones deben buscarse en los registros de FortiMail, del firewall situado delante y del proxy inverso, y bloquearse hasta nuevo aviso.
Entradas de registro
El aviso indica tres patrones en los registros del sistema de FortiMail:
-
Entradas de Cron del usuario
root, que inician una shell relacionada con/migadmin, por ejemplotype=event subtype=system pri=debug user=system ui=cron msg="(root) CMD (/bin/sh -c 'O=/migadmin.... -
Configuración de cuentas de archivado con la IP remota
79.141.169.187. Una cuenta de archivado puede almacenar copias de mensajes en un destino externo. -
Errores de decodificación Base64 en el descifrador IBE e intentos de autenticación fallidos sospechosos.
Las coincidencias con cualquiera de estos indicadores significan que el sistema se considera comprometido. Antes de cualquier cambio, deben protegerse los registros y la configuración para que siga siendo posible un análisis forense. Una actualización por sí sola no elimina una puerta trasera configurada. La limpieza incluye una reinstalación desde una fuente de confianza, la restauración de una configuración verificada y el cambio de todas las credenciales almacenadas en el sistema: cuentas de administrador, cuentas de enlace LDAP, autenticación SMTP y claves privadas de certificados. Deben revisarse las cuentas de archivado y los reenvíos en busca de destinos desconocidos, ya que pueden utilizarse para extraer el contenido de los mensajes.
Contexto
Las puertas de enlace de correo se encuentran en el perímetro de la red y procesan todo el tráfico de mensajes de una organización. Una vulnerabilidad que ejecuta código sin autenticación da a un atacante acceso al contenido de los mensajes, las credenciales almacenadas y el material criptográfico. No es el primer caso en FortiMail: en mayo de 2025, CVE-2025-32756 (FG-IR-25-254, CVSS 9.6) afectó a FortiMail además de FortiVoice; en aquel momento se demostró que la vulnerabilidad se explotaba en sistemas FortiVoice.
A finales de septiembre, Kiteworks también pidió a sus clientes, debido a una advertencia de las autoridades policiales, que apagaran preventivamente sus sistemas; allí las circunstancias siguen sin estar claras (Kiteworks: recomendación de apagado del 26 de septiembre). No se conoce ninguna relación entre ambos casos.
Qué hacer ahora
-
Determinar la versión con
get system statusy compararla con la tabla de versiones afectadas. -
Comprobar los indicadores y proteger los registros antes de realizar cambios en el sistema.
-
Implementar la solución temporal: desactivar IBE o bloquear la interfaz de administración desde Internet, tras aclarar las consecuencias para las entregas cifradas.
-
Bloquear las direcciones IP y buscarlas retrospectivamente en los registros del firewall.
-
Planificar la actualización: instalar la versión corregida en cuanto aparezca; actualizar los sistemas 7.2 a 7.4 o posterior.
-
Supervisar el aviso: Fortinet añade información a FG-IR-26-175 cuando hay nuevos hallazgos; el historial de revisiones figura al final del aviso.
Comentarios
Los comentarios se cargan desde GitHub / Giscus.