← back
CVE-2024-21762criticalunder attackransomwareCWE-787

CVE-2024-21762

100Vexday Risk Score

Prioritize patching. It under exploitation confirmed by CISA and has a public proof of concept.

ssvc Actcvss 9.6epss 84%
from disclosure to weapon19 days
Published on NVDFeb 9
1st PoC+19d
CISA KEVFeb 9
exploitation probability
84%top 1% of all CVEs
observed exploitation
yesCISA + VulnCheck
18 public exploit(s)
Action required by CISAfederal deadline: 2024-02-16

Apply mitigations per vendor instructions or discontinue use of the product if mitigations are unavailable.

Summary

Falha crítica de out-of-bounds write (CWE-787) no daemon sslvpnd do FortiOS e FortiProxy, explorável remotamente e sem autenticação através de requisições HTTP forjadas para a interface SSL VPN. Está no catálogo KEV da CISA com exploração confirmada in-the-wild e prazo de correção de apenas uma semana após publicação — um dos indicadores mais fortes de urgência real que a CISA emite. O impacto declarado pelo fornecedor é execução arbitrária de código, ou seja, comprometimento total do appliance.

Technical detail

A vulnerabilidade está no componente sslvpnd, o processo que atende as conexões SSL VPN do FortiOS/FortiProxy. É uma escrita fora dos limites de um buffer (CWE-787): o processo aceita uma requisição HTTP especialmente construída e escreve dados além da região de memória alocada para tratá-la, corrompendo estruturas adjacentes.

A Fortinet não publicou detalhes de baixo nível da falha, mas um indício técnico relevante vem da própria assinatura de virtual patch liberada no IPS package (FMWP db 24.020), chamada 'HTTP.Chunk.Length.Invalid'. Isso sugere que o vetor envolve o parsing de requisições HTTP com chunked transfer-encoding malformado — um campo de comprimento de chunk que o parser aceita sem validar corretamente contra o tamanho real do buffer de destino.

O atacante controla o conteúdo da requisição HTTP enviada à interface SSL VPN exposta, incluindo os campos de encoding que disparam o cálculo incorreto de tamanho. Não é necessário estar autenticado nem ter sessão VPN válida — a falha ocorre no processamento da requisição antes ou durante a fase de autenticação.

How it’s exploited

O vetor é rede: o atacante envia requisições HTTP especialmente criadas diretamente para a porta/interface onde o SSL VPN está habilitado (tipicamente HTTPS na interface de administração ou numa interface dedicada ao VPN). Não exige autenticação, não exige acesso prévio à rede interna, não exige configuração não padrão além de ter o SSL VPN habilitado — que é justamente o cenário comum em firewalls Fortinet expostos à internet para acesso remoto de usuários.

A CISA confirma exploração ativa e o prazo de remediação de apenas 7 dias no KEV reforça isso; a Fortinet também nota 'potentially being exploited in the wild' no advisory original. Há PoC pública circulando, o que reduz a barreira técnica para réplicas do ataque por atores menos sofisticados.

O resultado final documentado pelo fornecedor é execução de código ou comandos arbitrários no dispositivo — controle total do firewall, incluindo capacidade de pivotar para a rede interna, interceptar tráfego VPN, extrair credenciais e instalar persistência (webshells, contas administrativas ocultas), padrão observado em campanhas anteriores contra falhas de SSL VPN da Fortinet.

Versions

Affected
FortiOS: 7.4.0–7.4.2, 7.2.0–7.2.6, 7.0.0–7.0.13, 6.4.0–6.4.14, 6.2.0–6.2.15, 6.0.0–6.0.17. FortiProxy: 7.4.0–7.4.2, 7.2.0–7.2.8, 7.0.0–7.0.14, 2.0.0–2.0.13, 1.2 (todas), 1.1 (todas), 1.0 (todas).
Fixed in
FortiOS 7.4.3+, 7.2.7+, 7.0.14+, 6.4.15+, 6.2.16+, 6.0.18+. FortiProxy 7.4.3+, 7.2.9+, 7.0.15+, 2.0.14+. FortiProxy 1.2, 1.1 e 1.0 não têm correção nessas linhas — exige migração para versão suportada.

How to protect

A correção definitiva é atualizar para as versões corrigidas por branch: FortiOS 7.4.3+, 7.2.7+, 7.0.14+, 6.4.15+, 6.2.16+, 6.0.18+; FortiProxy 7.4.3+, 7.2.9+, 7.0.15+, 2.0.14+. Para FortiProxy 1.2, 1.1 e 1.0, todas as versões dessas linhas são vulneráveis e não há patch — é necessário migrar para uma linha suportada (2.0.14+ ou 7.0.15+/7.2.9+/7.4.3+).

O paliativo real, segundo o próprio advisory, é desabilitar o SSL VPN completamente. O fornecedor é explícito em dizer que desabilitar apenas o webmode NÃO é uma mitigação válida — esse é o mito que circula e que não protege contra a falha, porque o componente vulnerável (sslvpnd) continua ativo e exposto independente do modo de acesso. O custo desse paliativo é alto: remove o acesso remoto via VPN SSL para todos os usuários até a atualização.

Existe também uma assinatura de virtual patch no pacote IPS (FMWP db 24.020, 'HTTP.Chunk.Length.Invalid') que pode ser usada como controle compensatório caso o dispositivo tenha IPS habilitado e atualizado, mas isso depende de licenciamento e atualização da base de assinaturas — não substitui o patch ou o desligamento do serviço em ambientes de alto risco.

How to detect

Monitorar logs do sslvpnd por crashes, reinicializações inesperadas do processo ou padrões de requisição HTTP anômalos endereçados à interface SSL VPN, especialmente requisições com chunked transfer-encoding malformado (o indicador mais concreto disponível é a assinatura IPS 'HTTP.Chunk.Length.Invalid', que sinaliza tentativas correspondentes ao padrão de exploração). Verificar também contas administrativas criadas fora do processo normal, configurações alteradas sem correlação com atividade legítima e artefatos de webshell em dispositivos que tiveram SSL VPN exposto sem patch entre a divulgação e a atualização — não há assinatura pública de IOC de rede detalhada além dessa, e a ausência de log de exploração não garante que o dispositivo não foi comprometido, já que ataques bem-sucedidos podem alterar ou suprimir os próprios logs do appliance.

Researched and written with AI from the vendor advisory and public analysis, with the sources above. Always confirm the fixed version in the official advisory before acting.
A out-of-bounds write in Fortinet FortiOS versions 7.4.0 through 7.4.2, 7.2.0 through 7.2.6, 7.0.0 through 7.0.13, 6.4.0 through 6.4.14, 6.2.0 through 6.2.15, 6.0.0 through 6.0.17, FortiProxy versions 7.4.0 through 7.4.2, 7.2.0 through 7.2.8, 7.0.0 through 7.0.14, 2.0.0 through 2.0.13, 1.2.0 through 1.2.13, 1.1.0 through 1.1.6, 1.0.0 through 1.0.7 allows attacker to execute unauthorized code or commands via specifically crafted requests
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H/E:H/RL:W/RC:C
⚠ Public resources, to assess the exposure of systems you control or are authorized to test. Test only with authorization.