CVE-2026-39808
Corrija agora. Ela está sob exploração confirmada pelo CISA e tem exploit funcional público.
Apply mitigations in accordance with vendor instructions, ensuring compliance with CISA’s BOD 26-04 Prioritizing Security Updates Based on Risk (see URL in Notes) guidance and CISA’s “Forensics Triage Requirements” (see URL in Notes). Follow applicable BOD 26-04 guidance for cloud services or discontinue use of the product if mitigations are unavailable. Stakeholders are responsible for evaluating each asset's internet exposure and ensuring adherence to BOD 26-04 patching guidelines.
Resumo
Falha de OS command injection (CWE-78) no endpoint de API /fortisandbox/job-detail/tracer-behavior do FortiSandbox 4.4.0 a 4.4.8, que permite a um atacante não autenticado executar comandos arbitrários no sistema operacional subjacente como root. O CVSS 9.1 e a presença no catálogo KEV da CISA refletem o risco real: não há pré-condição de autenticação, credenciais ou configuração especial — só é preciso alcançar o endpoint via HTTP.
Detalhamento técnico
A vulnerabilidade está no parâmetro GET jid do endpoint /fortisandbox/job-detail/tracer-behavior. O valor desse parâmetro é usado, aparentemente sem sanitização, na construção de um comando executado pelo sistema operacional. O caractere pipe (|) é suficiente para encadear comandos arbitrários ao processo original, característica clássica de CWE-78 quando a aplicação concatena entrada do usuário diretamente em uma chamada de shell.
O fornecedor não detalhou o binário ou script interno afetado, apenas confirmou que o problema está no componente 'API' e que a solução exige atualização — não há indicação de um parâmetro de configuração isolável para desativar só essa função.
O impacto é execução de código como root no host do FortiSandbox, dado que o PoC público demonstra a saída do comando id sendo escrita como root em um arquivo dentro da webroot (/web/ng/), confirmando privilégio total do processo que processa a requisição.
Como é explorada
O vetor é uma requisição HTTP GET simples ao endpoint /fortisandbox/job-detail/tracer-behavior, com o parâmetro jid manipulado para injetar comandos via pipe. Não há necessidade de autenticação, sessão válida ou qualquer configuração não padrão — o único pré-requisito real é acesso de rede à interface administrativa/API do FortiSandbox exposta pelo atacante.
A complexidade de exploração é baixa: o PoC publicado (samu-delucas/CVE-2026-39808) mostra que um único comando curl, sem etapas intermediárias, é suficiente para obter execução de comando como root, redirecionando a saída para um arquivo acessível via web para exfiltração de resultado.
A CISA confirma exploração ativa ao incluir a CVE no catálogo KEV (adicionada em 16/07/2026, prazo de mitigação 19/07/2026) — um intervalo curto que sinaliza urgência. Vale notar uma divergência: o próprio advisory da Fortinet lista 'Known Exploited: No' na data de publicação (14/04/2026), enquanto a CISA classificou como exploração confirmada meses depois — ou seja, a exploração ativa foi detectada após a divulgação inicial, não simultaneamente a ela.
Versões
Como se proteger
A correção definitiva é atualizar para FortiSandbox 4.4.9 ou superior. O FortiSandbox 5.0 não é afetado pela falha (branch de código diferente), e o FortiSandbox PaaS 5.0 também está fora do escopo segundo o fornecedor — apenas a linha 4.4.0–4.4.8 (on-prem) precisa de ação.
Se a atualização imediata não for viável, a Fortinet não publicou um workaround de configuração alternativo no advisory (nenhuma flag ou desativação de módulo é mencionada); a única ação de mitigação real documentada é restringir o acesso de rede à interface de gerenciamento/API do FortiSandbox — remover exposição direta à internet, colocar atrás de VPN ou lista de controle de acesso — até que o patch seja aplicado. Isso reduz a superfície de ataque mas não elimina a vulnerabilidade caso o atacante já tenha acesso à rede interna.
Não existe mitigação eficaz baseada apenas em WAF genérico para esse tipo de injeção via pipe em parâmetro GET, dado que a normalização de payload é trivial de ofuscar; regras específicas de bloqueio ao padrão do parâmetro jid com pipe podem reduzir tentativas óbvias, mas não substituem o patch.
Como detectar
Procurar em logs de acesso web/API requisições ao endpoint /fortisandbox/job-detail/tracer-behavior com o parâmetro jid contendo caracteres de shell como pipe (|), parênteses, ponto-e-vírgula ou redirecionamento (>). O PoC público grava saída de comando em arquivos dentro da webroot (padrão observado: /web/ng/), então a presença de arquivos inesperados nesse diretório, ou acessados via HTTP logo após uma requisição suspeita ao endpoint, é indício forte de exploração.
Não há assinatura oficial de detecção publicada pelo fornecedor; a existência de template Nuclei público sugere que verificação automatizada de exposição é viável, mas não substitui revisão manual de logs para tentativas anteriores à publicação do patch.