> [!danger] CVSS 9.6 - Crítico > Out-of-bounds write no SSL VPN do FortiOS permite RCE sem autenticação. Zero-day explorado pelo Qilin e Salt Typhoon. > [!warning] CISA KEV - Exploração Ativa Confirmada > Adicionada ao catálogo CISA KEV em 2024-02-09. Exploração ativa confirmada no momento da divulgação. > [!success] Patch Disponível > Atualizar FortiOS para 7.4.3+, 7.2.7+, 7.0.14+ ou 6.4.15+. Desabilitar SSL VPN como workaround. # CVE-2024-21762 - Out-of-Bounds Write no FortiOS SSL VPN > CVSS: 9.6 · EPSS: 97% · Vendor: Fortinet · Patch: Sim · CISA KEV: Sim ## Visão Geral CVE-2024-21762 é uma vulnerabilidade crítica de **out-of-bounds write** no componente SSL VPN do [[fortios]] da [[_fortinet|Fortinet]], permitindo execução remota de código sem autenticação via requisições HTTP especialmente crafted. A falha afeta o serviço SSL-VPN exposto externamente, tornando todos os firewalls e gateways FortiGate com SSL VPN habilitado potencialmente vulneráveis sem qualquer interação do usuário. A Fortinet confirmou exploração ativa em produção no momento da divulgação (fevereiro de 2024), classificando-a como zero-day ativo. O grupo de ransomware [[qilin|Qilin]] foi observado explorando esta CVE para ganho de acesso inicial em múltiplas organizações. O APT [[g1045-salt-typhoon|Salt Typhoon]], nexo China, também foi documentado utilizando a falha em operações de espionagem contra telecomúnicações e governo. O cluster [[brazen-bamboo|BrazenBamboo]] explorou variantes relacionadas para implantar o backdoor DEEPDATA em dispositivos FortiClient. Com mais de 150.000 instâncias FortiGate expostas à internet no momento da divulgação, o impacto potencial foi massivo. **Mitigação:** Atualizar FortiOS para 7.4.3+, 7.2.7+, 7.0.14+, 6.4.15+, 6.2.17+ conforme a branch instalada. Como workaround temporário: desabilitar SSL VPN via CLI (`config vpn ssl settings` → `set status disable`). Não confundir com desabilitar apenas o portal web - o listener SSL VPN deve ser completamente desativado. ## Cadeia de Exploração ```mermaid graph TB ATK[Atacante / Qilin / Salt Typhoon] -->|Requisição HTTP crafted ao SSL VPN| FG[FortiGate SSL VPN] FG -->|Out-of-bounds write no processo SSL-VPN| MEM[Corrupção de Memória] MEM -->|RCE sem autenticação| RCE[Execução Remota de Código] RCE -->|Implantação de backdoor DEEPDATA| BACK[Backdoor Persistente] BACK -->|Acesso a rede interna| NET[Rede Corporativa] BACK -->|Exfiltração de credenciais VPN| CRED[Credenciais Roubadas] ``` ## Relevância LATAM/Brasil > [!latam] Impacto Regional > A **Fortinet** é líder absoluto em firewalls corporativos no Brasil e América Latina, com FortiGate sendo o appliance de segurança mais implantado em empresas de médio e grande porte. O SSL VPN do FortiOS é amplamente utilizado como solução de acesso remoto corporativo - especialmente expandido após a pandemia de COVID-19. Organizações nos setores **financeiro**, **governo** e **telecomúnicações** brasileiros dependem fortemente desta solução para acesso de funcionários e parceiros remotos. > > O envolvimento do grupo **Qilin** (ransomware) indica risco direto para empresas brasileiras, enquanto o **Salt Typhoon** (espionagem estatal chinesa) representa ameaça estratégica às telecomúnicações e governo. Com mais de 150.000 instâncias FortiGate expostas na internet globalmente no momento da divulgação, e considerando a base instalada massiva da Fortinet no Brasil, estima-se que milhares de dispositivos brasileiros estiveram vulneráveis. O CERT.br emitiu alerta específico para esta CVE em fevereiro de 2024, recomendando atualização imediata. > > Organizações que não aplicaram o patch e utilizaram o SSL VPN durante o período de vulnerabilidade devem realizar análise forense focada em artefatos do backdoor DEEPDATA e modificações em arquivos de sistema do FortiOS. **Setores em risco:** [[telecommunications|telecomúnicações]] · [[financial|financeiro]] · [[government|governo]] · [[critical-infrastructure|infraestrutura crítica]] ## Referências - [NVD - CVE-2024-21762](https://nvd.nist.gov/vuln/detail/CVE-2024-21762) - [Fortinet PSIRT Advisory FG-IR-24-015](https://fortiguard.fortinet.com/psirt/FG-IR-24-015) - [CISA KEV Entry](https://www.cisa.gov/known-exploited-vulnerabilities-catalog) - [Shadowserver - Scanning Stats FortiGate](https://www.shadowserver.org/) ## Notas Relacionadas - [[cve-2024-21887|CVE-2024-21887]] - injeção de comandos Ivanti, vulnerabilidade de perfil similar (VPN gateway) - [[cve-2022-42475|CVE-2022-42475]] - FortiOS SSL VPN anterior, mesmo componente - [[qilin|Qilin]] - grupo ransomware explorando para acesso inicial - [[g1045-salt-typhoon|Salt Typhoon]] - APT chinês, espionagem em telecomúnicações - [[brazen-bamboo|BrazenBamboo]] - cluster explorando FortiClient para implantar DEEPDATA - [[Fortinet SSL VPN Exploitation 2024]] - campanha de exploração em escala - [[_fortinet|Fortinet]] - vendor afetado - [[t1133-external-remote-services|T1133 - External Remote Services]] - exploração de VPN gateway - [[t1190-exploit-public-facing-application|T1190 - Exploit Public-Facing Application]] - acesso inicial sem autenticação - [[telecommunications|telecomúnicações]] - setor alvo prioritário --- ## Detecção e Resposta > [!warning] Aviso sobre as regras abaixo > As regras e consultas a seguir são **exemplos e pontos de partida**. Devem ser revisadas, > testadas e adaptadas ao seu ambiente específico antes de serem implantadas em produção. > Falsos positivos e negativos são esperados - tuning contínuo é necessário. Valide sempre > contra sua telemetria antes de ativar alertas. ### Splunk SPL ```spl index=fortigate sourcetype="fortigate:traffic" OR sourcetype="fortigate:utm" (url="/remote/login" OR url="/remote/*" OR url="/api/v2/cmdb/vpn.ssl/*") http_method=POST (http_content_length>99999999 OR http_header="*Transfer-Encoding: chunked*") | stats count by src_ip, url, http_method, http_content_length, _time | where count > 3 | eval alerta="Possível exploração CVE-2024-21762 - requisições malformadas ao SSL VPN" | table _time, src_ip, url, http_method, http_content_length, count, alerta ``` Complementar - falhas e crashes do processo sslvpnd: ```spl index=fortigate sourcetype="fortigate:system" (msg="*sslvpnd*" AND (msg="*crash*" OR msg="*fatal*" OR msg="*segfault*" OR msg="*out of bound*")) | table _time, host, msg | eval alerta="sslvpnd crash - possível indicador de exploração CVE-2024-21762" ``` Complementar - detecção de modificação de arquivo de backdoor conhecida (pós-exploit): ```spl index=fortigate sourcetype="fortigate:system" (msg="*libcli.so*" OR msg="*/data/lib/*") | table _time, host, msg ``` Fonte de dados requerida: FortiGate Traffic Logs, System Logs, UTM Logs exportados via Syslog/CEF para Splunk ### Microsoft Sentinel (KQL) ```kql // Detecta requisições POST malformadas ao endpoint SSL VPN do FortiOS - CVE-2024-21762 CommonSecurityLog | where TimeGenerated > ago(7d) | where DeviceVendor == "Fortinet" | where RequestURL has_any ("/remote/login", "/remote/", "/api/v2/cmdb/vpn.ssl/") | where RequestMethod == "POST" | where AdditionalExtensions contains "chunked" or toint(extract(@"Content-Length: (\d+)", 1, AdditionalExtensions)) > 99999999 | summarize count() by SourceIP, RequestURL, bin(TimeGenerated, 1h) | where count_ > 3 | order by count_ desc ``` ```kql // Caça atividade pós-exploit: downloads de payloads e reconhecimento interno CommonSecurityLog | where TimeGenerated > ago(30d) | where DeviceVendor == "Fortinet" | where Message has_any ( "libcli.so", "/data/lib/", "sslvpnd crash", "segfault", "out of bound" ) | project TimeGenerated, DeviceName, SourceIP, DestinationIP, Message, LogSeverity | order by TimeGenerated desc ``` Tabela(s): `CommonSecurityLog`, `Syslog` ### Sigma Rule ```yaml title: Detect CVE-2024-21762 FortiOS SSL VPN Out-of-Bounds Write Exploitation id: 7e2f4a9c-3b67-4d81-c234-fa5678901234 status: experimental description: > Detecta tentativas de exploração de CVE-2024-21762 - out-of-bounds write no sslvpnd do FortiOS. O exploit envia requisições HTTP POST malformadas (chunked transfer encoding com tamanhos manipulados) para o endpoint /remote/login do SSL VPN. A exploração bem-sucedida resulta em RCE sem autenticação no gateway FortiGate. references: - [[t1190-exploit-public-facing-application]] - https://fortiguard.fortinet.com/psirt/FG-IR-24-015 - https://nvd.nist.gov/vuln/detail/CVE-2024-21762 logsource: category: webserver product: fortigate detection: selection_endpoint: cs-uri-stem|contains: - '/remote/login' - '/remote/' - '/api/v2/cmdb/vpn.ssl/' cs-method: 'POST' selection_malformed: cs-version|contains: 'chunked' condition: selection_endpoint and selection_malformed falsepositives: - Scanners de vulnerabilidade legítimos verificando o endpoint SSL VPN - Clientes VPN com comportamento incomum de negociação HTTP level: high tags: - attack.initial_access - attack.t1190 - attack.t1133 - cve.2024-21762 ``` ### EDR #### CrowdStrike Falcon Custom IOA Rule (Behavioral): Regras específicas para FortiOS não estão disponíveis públicamente no CrowdStrike Falcon, pois o FortiOS não executa agente EDR tradicional. A detecção deve ser feita via análise de logs de syslog do FortiGate integrados ao Falcon LogScale (Humio). No LogScale, criar alerta para requisições POST malformadas ao endpoint `/remote/login` com tamanho de conteúdo anômalo ou Transfer-Encoding: chunked. Threat Graph Query (Falcon Data Replicator): Regras específicas não disponíveis públicamente para FortiOS no contexto de Falcon Data Replicator. Consulte o vendor advisory FG-IR-24-015 e monitore IOCs associados ao [[qilin|Qilin]], [[g1045-salt-typhoon|Salt Typhoon]] e [[brazen-bamboo|BrazenBamboo]] para hashes e IPs de C2. #### SentinelOne Deep Visibility Query: Regras específicas não disponíveis públicamente para FortiOS no SentinelOne (FortiOS não executa agente SentinelOne). Para ambientes com integração de logs de rede no SentinelOne Singularity XDR: ``` EventType = "NetworkConnection" AND DstPort = 443 AND DstIPv4 NOT In ("10.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16") AND SrcProcName ContainsCIS "sslvpnd" ``` #### Microsoft Defender for Endpoint (MDE) Advanced Hunting (KQL): ```kql // Detecta conexões de rede para infraestrutura associada a exploração de Fortinet SSL VPN DeviceNetworkEvents | where TimeGenerated > ago(30d) | where RemotePort == 443 | where InitiatingProcessFileName in~ ("sslvpnd", "httpsd", "forticron") | where not(ipv4_is_private(RemoteIP)) | project Timestamp, DeviceName, LocalIP, RemoteIP, RemotePort, InitiatingProcessFileName, InitiatingProcessCommandLine | order by Timestamp desc ``` ### Firewall / Network #### Palo Alto Networks (PAN-OS) Para organizações usando FortiGate como SSL VPN e PAN-OS como firewall de perímetro: criar regra de Security Policy inspecionando tráfego HTTPS de entrada ao FortiGate SSL VPN. Habilitar SSL Decryption para inspecionar o conteúdo das requisições. Configurar Application-Default para restringir conexões ao portal SSL VPN apenas a países e IPs legítimos. App-ID / Threat ID relevante: Habilitar Vulnerability Protection profile com assinaturas para exploits de VPN gateways; verificar Threat Prevention database para cobertura de CVE-2024-21762. #### Fortinet FortiGate **Mitigação imediata**: Desabilitar o SSL VPN completamente se não for possível aplicar o patch: ``` config vpn ssl settings set status disable end ``` **Monitoramento via IPS**: Habilitar IPS com perfil "default" ou "protect" nas políticas que permitem tráfego ao SSL VPN portal. Verificar FortiGuard Labs para assinaturas específicas. IPS Signature: `FortiOS.SSL.VPN.Out-of-Bound.Memory.Write` - verificar disponibilidade no FortiGuard Labs sob o advisory FG-IR-24-015. A Fortinet tipicamente pública assinaturas IPS para vulnerabilidades críticas próprias dentro de 24-48h do advisory. Verificar também a assinatura `HTTP.Chunked.Transfer.Encoding.Exploit` para cobertura complementar.