CVE-2023-27997
Priorize a correção. Ela está sob exploração confirmada pelo CISA e tem prova de conceito pública.
Apply updates per vendor instructions.
Resumo
Buffer overflow baseado em heap (CWE-122) no daemon SSL-VPN do FortiOS e FortiProxy, explorável remotamente e sem autenticação através de requisições HTTP especificamente construídas contra a interface de VPN SSL. É crítica de fato, não só no CVSS: não exige credenciais, não exige configuração não padrão além de ter o SSL-VPN habilitado (cenário extremamente comum em firewalls Fortinet expostos à internet), e a Fortinet confirma exploração ativa como zero-day antes da correção.
Detalhamento técnico
A falha está no processamento pré-autenticação de requisições pelo componente SSL-VPN (sslvpnd) do FortiOS/FortiProxy. O CWE-122 indica que uma escrita fora dos limites de um buffer alocado em heap ocorre ao parsear dados de uma requisição HTTP recebida antes de qualquer verificação de credencial, corrompendo estruturas adjacentes na memória do processo.
A Fortinet não publicou o detalhe do ponto exato do parser nem a estrutura de dados afetada no advisory oficial (FG-IR-23-097); o texto público se limita a confirmar o tipo de falha (CWE-122), o componente (SSL-VPN) e que é explorável por 'requisições especificamente construídas'. A ausência de detalhe técnico oficial é deliberada, dado o histórico de exploração em massa de vulnerabilidades anteriores de SSL-VPN da Fortinet (ex.: CVE-2022-42475), e detalhes mais profundos sobre o mecanismo circulam em análises independentes de pesquisadores que compararam os binários antes e depois do patch.
O fato relevante para quem avalia risco: o vetor é pré-autenticação (PR:N na CVSS) e não requer interação do usuário (UI:N), rodando na própria interface de gerenciamento/VPN exposta. O atacante controla o conteúdo da requisição HTTP enviada ao endpoint de SSL-VPN; o impacto declarado é execução de código ou comandos arbitrários no contexto do processo vulnerável, que no FortiOS tipicamente corre com privilégios elevados no appliance.
Como é explorada
O vetor é uma requisição HTTP/HTTPS crafted enviada à porta de SSL-VPN exposta (tipicamente 443 na interface WAN configurada para SSL-VPN). Não há pré-requisito de autenticação, conta de usuário válida, ou certificado cliente — qualquer atacante com acesso de rede ao serviço de SSL-VPN pode tentar a exploração. Isso eleva drasticamente a superfície: qualquer FortiGate/FortiProxy com SSL-VPN habilitado e acessível pela internet é um alvo potencial, independentemente de política de acesso configurada.
A CVE está no catálogo KEV da CISA com confirmação de exploração no mundo real antes mesmo da divulgação pública — a Fortinet tratou o caso como zero-day ativamente explorado, o que motivou o prazo de mitigação de apenas poucas semanas imposto pela CISA para agências federais dos EUA (due date 2023-07-04, cerca de três semanas após a publicação). Existe PoC pública desenvolvida por pesquisadores após análise do patch, o que reduz a complexidade de reprodução para qualquer atacante motivado, mesmo sem ter sido o autor original da descoberta.
O resultado final documentado pelo fornecedor é execução arbitrária de código/comandos no dispositivo. Em um firewall/gateway VPN, isso normalmente se traduz em controle total do appliance, capacidade de interceptar e redirecionar tráfego, pivotear para a rede interna atrás do Fortinet, e potencialmente plantar persistência que sobrevive a reinicializações — o tipo de acesso valioso para operações de espionagem e para ransomware que usa VPN gateways como ponto de entrada inicial.
Versões
Como se proteger
A correção definitiva é atualizar para as versões corrigidas indicadas pela Fortinet, específicas por branch — não existe patch genérico único. FortiOS 7.4 não é afetado; para as demais linhas (7.2, 7.0, 6.4, 6.2, 6.0), FortiOS-6K7K e FortiProxy (7.2, 7.0, 2.0), a Fortinet lista faixas afetadas e versões de destino próprias para cada branch (ver campos versions_affected/versions_fixed). FortiProxy 1.1 e 1.2 não recebem patch — a única solução para essas linhas é migrar para um branch suportado.
O paliativo declarado pelo próprio fornecedor, caso a atualização imediata não seja viável, é desabilitar o SSL-VPN no dispositivo. Isso elimina o vetor de ataque por completo, mas tem custo operacional real: qualquer usuário ou site que dependa de acesso remoto via SSL-VPN perde esse acesso até a correção ser aplicada — é uma mitigação de disponibilidade zero para o serviço, não uma restrição parcial.
Restringir acesso à interface de SSL-VPN por IP de origem (allowlist) reduz a superfície de exposição, mas não é mitigação completa, já que a falha é pré-autenticação — qualquer origem permitida na lista ainda pode explorar. Não há indicação de que WAF, MFA ou hardening de senha mitiguem essa falha, pois ela ocorre antes de qualquer verificação de credencial; nenhum desses controles substitui a atualização ou a desativação do serviço.
Como detectar
O advisory oficial não lista indicadores de comprometimento específicos (assinaturas de payload, IOCs de arquivo). Como sinal operacional, crashes ou reinícios inesperados do processo sslvpnd, picos de requisições malformadas ou de tamanho anômalo direcionadas ao endpoint de SSL-VPN, e logs de erro relacionados ao serviço de VPN SSL no período anterior à atualização merecem investigação, especialmente em dispositivos que estiveram expostos à internet com SSL-VPN habilitado antes de 2023-06-12.
Não há assinatura de exploração universalmente confiável documentada nas fontes consultadas — a ausência de log de erro não descarta tentativa ou sucesso de exploração, dado que a falha ocorre em nível de memória do processo antes de qualquer registro de autenticação. Dispositivos que rodavam versões vulneráveis com SSL-VPN exposto devem ser tratados como potencialmente comprometidos até验证 forense adicional, dado o histórico de exploração confirmada pela CISA/KEV antes da correção.