Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2026-35616 — Kit de detección para CVE-2026-35616, una omisión de API de preautenticación en FortiClient EMS. Incluye un escáner en Python y un script NSE de Nmap para identificar versiones vulnerables y proporcionar orientación de remediación. | Kitploit
Herramientas/GitHubGitHub/keraattin/cve-2026-35616
Escáneres de VulnerabilidadesAnálisis de VulnerabilidadesExplotaciónRecopilación de InformaciónSeguridad WebSeguridad de RedesPruebas de PenetraciónAutenticación
GitHubkeraattin/cve-2026-35616

CVE-2026-35616

Kit de detección para CVE-2026-35616, una omisión de API de preautenticación en FortiClient EMS. Incluye un escáner en Python y un script NSE de Nmap para identificar versiones vulnerables y proporcionar orientación de remediación.

1217hace 5 mesesAún no revisado
Ver Repositorio

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2026-35616 - Bypass de Autenticación Pre-API en FortiClient EMS que Conduce a RCE

CVE-2026-35616 CVSS 9.1 CISA KEV CWE-284

TL;DR

Un bypass de autenticación crítico en Fortinet FortiClient EMS 7.4.5 y 7.4.6 permite a un atacante remoto completamente no autenticado eludir la autenticación de la API falsificando una única cabecera HTTP (X-SSL-CLIENT-VERIFY). La falla existe porque el middleware de Django confía en los metadatos del certificado del cliente provenientes de cabeceras controladas por el usuario, no solo del proxy inverso de confianza. Esto otorga a los atacantes acceso administrativo completo a la API, y desde allí, ejecución arbitraria de código en los endpoints gestionados de toda la empresa.

Explotado activamente desde el 31 de marzo de 2026. Añadido al catálogo KEV de CISA el 6 de abril de 2026.


Tabla de Contenidos

  • Datos Rápidos
  • ¿Qué es FortiClient EMS?
  • Análisis Profundo de la Vulnerabilidad
    • La Arquitectura
    • Dónde se Rompe
    • El Flujo del Ataque
  • Análisis de Impacto
  • Versiones Afectadas
  • Cronología de Explotación
  • Detección
    • Escáner en Python
    • Script NSE para Nmap
    • Verificación Manual
  • Indicadores de Compromiso
  • Remediación
  • Referencias
  • Autor

Datos Rápidos

CampoDetalle
ID CVECVE-2026-35616
ProveedorFortinet
ProductoFortiClient Enterprise Management Server (EMS)
Versiones Afectadas7.4.5, 7.4.6
No AfectadasRama 7.2.x, 7.4.4 y anteriores
CVSS v3.19.1 (Crítico)
CWECWE-284 - Control de Acceso Inadecuado
Vector de AtaqueRed
AutenticaciónNo se requiere
Interacción del UsuarioNinguna
Madurez del ExploitExplotado en la naturaleza
CISA KEVAñadido el 6 de abril de 2026 (fecha límite: 9 de abril de 2026)
ParcheHotfix disponible; corrección completa en 7.4.7
CréditosSimo Kohonen (Defused Cyber), Nguyen Duc Anh

¿Qué es FortiClient EMS?

FortiClient Enterprise Management Server (EMS) es la plataforma centralizada de gestión de endpoints de Fortinet. Actúa como la capa de comando y control para implementar, configurar y monitorear los agentes de FortiClient en una organización. Piense en él como el cerebro que gobierna cada endpoint en un entorno gestionado por Fortinet:

  • Envía políticas de seguridad y perfiles VPN a los endpoints
  • Gestiona el cumplimiento de los endpoints y las verificaciones de postura
  • Distribuye actualizaciones de software y parches
  • Se integra con los firewalls FortiGate para el Acceso a Red de Confianza Cero (ZTNA)
  • Almacena y gestiona telemetría de endpoints, certificados y credenciales

Cuando un atacante obtiene acceso administrativo a EMS, esencialmente posee las llaves de cada endpoint gestionado en la organización.


Análisis Profundo de la Vulnerabilidad

La Arquitectura

FortiClient EMS utiliza una pila de aplicaciones web bastante estándar entre bastidores:

+----------------+          +----------------+          +----------------+
|   Navegador /  |  HTTPS   |    Apache      |   WSGI   |    Django      |
|   Cliente API  | -------> |   (mod_ssl)    | -------> |    Backend     |
+----------------+          +----------------+          +----------------+

Cuando se configura TLS mutuo (mTLS), el mod_ssl de Apache maneja la verificación del certificado del cliente. Después de validar el certificado, Apache pasa el resultado de la verificación a Django a través de variables de entorno WSGI de confianza:

  • SSL_CLIENT_VERIFY - El estado de verificación (SUCCESS, NONE, FAILED)
  • SSL_CLIENT_S_DN - El Nombre Distinguido del Sujeto del certificado
  • SSL_CLIENT_SERIAL - El número de serie del certificado

Este es el patrón estándar y seguro. El problema está en cómo el middleware de Django lee estos datos.

Dónde se Rompe

En FortiClient EMS 7.4.5 y 7.4.6, el middleware de autenticación de Django fue modificado para aceptar también esta misma información desde cabeceras de solicitud HTTP:

  • X-SSL-CLIENT-VERIFY
  • X-SSL-CLIENT-S-DN
  • X-SSL-CLIENT-SERIAL

Esto probablemente se añadió para soportar implementaciones con proxy inverso donde Apache no es el punto de terminación TLS. Sin embargo, el middleware no distingue entre estas dos fuentes. Primero verifica las variables WSGI, pero si están ausentes (sin mTLS configurado, o una conexión directa), recurre a las cabeceras HTTP, que cualquier cliente puede establecer.

Aquí está el desglose conceptual:

RUTA SEGURA (prevista):
  Apache mod_ssl valida el certificado --> establece variables de entorno WSGI --> Django lee las variables de entorno  [OK]

RUTA INSEGURA (la vulnerabilidad):
  El atacante establece cabeceras HTTP directamente --> Django lee las cabeceras --> Confía en ellas  [FALLO]

El middleware efectivamente confía en que el cliente auto-certifique su propio estado de verificación de certificado. Es como si un portero le preguntara a alguien "Oye, ¿el otro portero ya revisó tu identificación?" y lo dejara entrar cuando dice "sí".

El Flujo del Ataque

Paso 1: El atacante envía una solicitud POST a un endpoint de la API de EMS
        con estas cabeceras:
        
        X-SSL-CLIENT-VERIFY: SUCCESS
        X-SSL-CLIENT-S-DN: CN=admin
        X-SSL-CLIENT-SERIAL: 0000000000000001

Paso 2: El middleware de Django verifica las variables de entorno WSGI → no presentes
        Recurre a las cabeceras HTTP → encuentra X-SSL-CLIENT-VERIFY: SUCCESS

Paso 3: El middleware trata la solicitud como autenticada con identidad de administrador

Paso 4: El atacante tiene acceso administrativo completo a la API

Paso 5: Desde la API de administración, el atacante puede:
        - Enviar políticas maliciosas a todos los endpoints gestionados
        - Extraer credenciales y certificados almacenados
        - Implementar payloads mediante la distribución de software
        - Modificar configuraciones ZTNA
        - Moverse lateralmente hacia la red más amplia

Todo el ataque requiere una única solicitud HTTP. Sin fuerza bruta, sin relleno de credenciales, sin ingeniería social. Solo una cabecera falsificada.


Análisis de Impacto

La gravedad aquí va más allá del propio servidor. FortiClient EMS es un multiplicador de fuerza: comprometerlo le da a un atacante influencia sobre cada endpoint gestionado:

Impacto Inmediato:

  • Control administrativo completo sobre la consola de EMS
  • Acceso a todas las configuraciones de endpoints, credenciales y certificados almacenados
  • Capacidad de leer/modificar/eliminar políticas de endpoints
  • Acceso a configuraciones VPN y ajustes ZTNA

Impacto Descendente (a través de endpoints gestionados):

  • Implementación de malware en todos los dispositivos gestionados mediante la distribución de software
  • Recolección de credenciales desde la telemetría de endpoints
  • Deshabilitar o debilitar los controles de seguridad en todos los endpoints gestionados
  • Movimiento lateral mediante la manipulación de la configuración VPN/ZTNA
  • Acceso persistente de puerta trasera mediante la entrega de payloads basada en políticas
Descargar herramienta