Pesquisadores de cibersegurança divulgaram uma prova de conceito (PoC) de exploit para uma vulnerabilidade crítica recém-corrigida no Fortinet FortiSIEM. A falha pode permitir a execução de código arbitrário.
Identificada como
CVE-2026-106173
e com pontuação 9,4 no CVSS, a vulnerabilidade é uma falha crítica de travessia de diretório. Ela pode permitir que um invasor não autenticado execute código ou comandos não autorizados por meio de pacotes especialmente criados.
A Fortinet lançou correções para a falha na semana passada. As versões afetadas são:
- FortiSIEM 7.5.0: atualize para a versão 7.5.1 ou posterior.
- FortiSIEM 7.6: não é afetada.
Segundo a Horizon3.ai, um invasor sem autenticação pode se conectar ao serviço gRPC, que escuta na porta TCP 27918, e explorar a falha para sobrescrever um arquivo fora do diretório previsto. Assim, é possível transformar a capacidade de gravação arbitrária de arquivos em execução remota de código.
“A rotina QueryResultReq do gRPC no FortiSIEM processa metadados não confiáveis sem validar adequadamente os caminhos”, afirmou a Horizon3.ai. “Ao criar metadados com sequências de travessia de diretório (`../`) e inserir bytes nulos nas camadas de codificação HTTP/2 e HPACK do gRPC, um invasor pode gravar arquivos arbitrários no sistema de arquivos.”
A falha decorre da montagem insegura de caminhos em uma função chamada SendQueryResult(), que repassa diretamente um parâmetro “query-id” fornecido pelo usuário, sem validação suficiente.
Em outras palavras, um invasor pode incluir sequências de travessia de diretório, como `../`, no parâmetro e sair do diretório previsto. Isso permite navegar até outro diretório e gravar arquivos nele, mas não escolher o nome do arquivo. O programa acrescenta automaticamente um nome no formato `result-<endereço IP de origem>-0-0-<id>.dat`, em que `<id>` é um contador controlado pelo servidor.
Uma segunda falha permite inserir um byte nulo (`\0`) no parâmetro “query-id”. O sistema operacional interpreta esse caractere como o fim de uma cadeia de caracteres e descarta tudo o que vem depois. Assim, o sufixo acrescentado ao nome do arquivo é ignorado quando o caminho é enviado à função de abertura de arquivos.
Um invasor pode explorar esse comportamento criando um valor para “query-id” que inclua `\0` depois do nome do arquivo que pretende sobrescrever, por exemplo: `../../../../../opt/charting/redishb.sh\0...`. O arquivo é um script de shell que realiza verificações de integridade do serviço Redis e é executado a cada 60 segundos por uma tarefa cron.
“A gravação ocorre exatamente no caminho que aparece antes do byte nulo”, afirmou Zach Hanley, engenheiro-chefe de ataques da Horizon3.ai. “Se o caminho apontar para um arquivo existente, ele será sobrescrito, mantendo o proprietário e as permissões originais. Uma segunda variante usa duas solicitações para criar um arquivo novo com um nome exato.”
Publicidade
Tenha acesso aos melhores hackers éticos do mercado através de um serviço personalizado, especializado e adaptado para o seu negócio. Guardsi: qualidade, confiança e especialidade em segurança ofensiva de quem já protegeu centenas de empresas. Saiba mais...