CVE-2021-44168
Prioriza la corrección. Ella está bajo explotación confirmada por CISA y tiene prueba de concepto pública.
Apply updates per vendor instructions.
Resumen
Falha no comando "execute restore src-vis" do FortiOS que baixa e instala pacotes de atualização sem verificar sua integridade (CWE-494), permitindo que um atacante já autenticado localmente no dispositivo carregue arquivos arbitrários. O CVSS baixo (3.3) reflete que exige acesso autenticado prévio, mas Fortinet confirmou pelo menos um caso real de abuso que resultou em implante de rootkit/backdoor persistente em FortiGate — por isso está no catálogo KEV da CISA.
Detalle técnico
A vulnerabilidade é classificada como CWE-494 (Download of Code Without Integrity Check). O comando CLI "execute restore src-vis" existe para restaurar dados de visibilidade de assinaturas/tráfego a partir de um pacote de atualização. O processo que trata esse comando aceita o pacote fornecido e o instala sem validar assinatura criptográfica ou hash de integridade contra o que o Fortinet espera.
Como o atacante controla o conteúdo do "pacote de update" passado ao comando, ele pode empacotar arquivos arbitrários — binários, módulos de kernel, bibliotecas compartilhadas — e fazer o FortiOS gravá-los no filesystem do dispositivo (em áreas como /data2 e /bin, conforme observado nos casos reais). Isso não é execução de código pelo próprio bug diretamente: o vetor formal do CVSS marca apenas impacto de integridade (I:L), mas a gravação de arquivos com controle total de conteúdo e caminho abre caminho para persistência e execução subsequente.
O vetor CVSS (AV:L/PR:L) deixa claro que a superfície de ataque é local: é necessário shell/CLI autenticado no equipamento, com privilégio (PR:L), não é uma exploração via rede não autenticada. Isso reduz drasticamente o universo de exploração direta, mas eleva o risco em cenários onde credenciais administrativas já foram comprometidas por outro vetor (ex.: credenciais vazadas, phishing de admin, ou exploração encadeada de outra falha de acesso).
Cómo se explota
Pré-requisito real: acesso autenticado à CLI do FortiGate com privilégio suficiente para executar "execute restore src-vis", e a capacidade de fornecer um pacote de update malicioso ao dispositivo (via TFTP/console/USB, conforme o mecanismo normal desse comando de restore). Não há componente remoto não autenticado nesta CVE — o atacante precisa já estar dentro do perímetro administrativo do equipamento.
No caso documentado pelo Fortinet, o abuso resultou na instalação de um conjunto de arquivos consistente com um rootkit/backdoor: binários renomeados para parecer com ferramentas legítimas (smartctl, lldptd), módulos de kernel (.o) carregados via insmod, biblioteca com hijack de LD_PRELOAD (libips.so, ld.so.preload) e processos de exfiltração/beaconing (ash -c executando scripts redirecionados para arquivos). Após a instalação, foi observado tráfego de C&C em HTTP plaintext na porta 7443 para dois IPs específicos, indicando estabelecimento de canal de controle remoto persistente.
A CISA classifica a exploração como confirmada (presente no catálogo KEV desde 2021-12-10, com prazo de correção 2021-12-24), mas o Fortinet descreve o caso como "uma instância" conhecida de abuso — não uma campanha massiva. O EPSS baixo (0.87%) é compatível com isso: a barreira de pré-autenticação limita exploração em escala, mas o dano por incidente é alto (persistência total no dispositivo de borda de rede).
Versiones
Cómo protegerse
Atualizar para FortiOS 6.0.14 ou superior, 6.2.10 ou superior, 6.4.8 ou superior, ou 7.0.3 ou superior, conforme o ramo em uso — o Fortinet removeu/corrigiu o comando "restore src-vis" nessas versões. Não há flag de configuração publicada como mitigação paliativa; o fornecedor não descreve workaround além da atualização.
Como controle compensatório real, restringir e monitorar rigorosamente quem tem acesso administrativo autenticado ao CLI do FortiGate (contas de management, VPN de gestão, MFA em contas admin) reduz a chance de exploração, já que o pré-requisito é justamente esse acesso. Isso não corrige a falha, apenas reduz a superfície de quem pode chegar a executar o comando vulnerável.
Se o dispositivo não puder ser atualizado imediatamente, a ação prioritária é verificar indicadores de comprometimento (ver seção de detecção) — a mera presença no KEV com prazo vencido (24/12/2021) indica que o Fortinet e a CISA tratam isso como exigindo remediação, não apenas mitigação de configuração.
Cómo detectar
O próprio advisory do Fortinet lista indicadores de comprometimento específicos do caso conhecido: arquivos inesperados no filesystem do FortiGate (visíveis via "fnsysctl ls"), como /data2/virc.dat, /data2/vire, /data2/vire.tar.gz, /data2/vird, /data2/gettd, /data2/smartctll, /data2/ftar, /data2/reportnd, /data2/llpdtd, /data2/flcfgt, arquivos dentro de /data2/viree/vire/ (inject, insmod, hack.o, libips.so, ld.so.preload) e /etc/ld.so.preload; processos inesperados visíveis via "fnsysctl ps" (por exemplo scripts ash executando smartctl ou flcfgt com redirecionamento para arquivos numerados); e tráfego de saída em HTTP plaintext na porta 7443 destinado aos IPs 192.46.213.244 e 172.105.181.67.
Não há assinatura de exploração genérica publicada além desses IOCs específicos do caso relatado — se o pacote de update malicioso usado por outro atacante for diferente, esses artefatos não vão bater, e não existe log nativo do FortiOS documentado que sinalize tentativas de abuso do comando "restore src-vis" com pacote adulterado.