Falha grave no FortiWeb
14 de Julho de 2025

Foram divulgados exploits de prova de conceito para uma vulnerabilidade crítica de SQL Injection (SQLi) no Fortinet FortiWeb, que podem ser usados para obter execução de código remoto pré-autenticado em servidores vulneráveis.

O FortiWeb é um firewall de aplicação web (WAF), utilizado para proteger aplicações web contra tráfego HTTP malicioso e ameaças.

A vulnerabilidade do FortiWeb tem uma pontuação de gravidade de 9.8/10 e é identificada como CVE-2025-25257.

A Fortinet corrigiu a falha na semana passada nas versões FortiWeb 7.6.4, 7.4.8, 7.2.11 e 7.0.11 em diante.

"Uma vulnerabilidade de 'Injeção de SQL' por neutralização inadequada de elementos especiais usados ​​em um comando SQL [CWE-89] no FortiWeb pode permitir que um atacante não autenticado execute códigos ou comandos SQL não autorizados via requisições HTTP ou HTTPS elaboradas", informa o alerta da Fortinet.

A falha foi descoberta por Kentaro Kawane da GMO Cybersecurity, que também divulgou uma vulnerabilidade de senha estática hardcoded no Cisco ISE no mês passado.

Hoje, a empresa de cibersegurança WatchTowr e um pesquisador de segurança conhecido como "faulty *ptrrr" divulgaram análises técnicas e exploits de prova de conceito que abrem shells reversos ou um web shell.

A falha está localizada no Fabric Connector do FortiWeb, um software que sincroniza dados de autenticação e políticas entre produtos da Fortinet.

O software contém uma falha de SQL Injection não autenticada na função get_fabric_user_by_token(), que usa o seguinte código para emitir uma consulta MySQL:

Este código não higienizou devidamente o token bearer enviado nos cabeçalhos das solicitações HTTP, permitindo que atacantes injetassem SQL personalizado no cabeçalho para alcançar um SQLi.

Os atacantes podem disparar a falha através de solicitações HTTP para o endpoint /api/fabric/device/status ao injetar SQL no cabeçalho de Autorização (por exemplo, Bearer AAAAAA'or'1'='1), permitindo que os atacantes contornem as verificações de autenticação.

Os pesquisadores conseguiram escalar a injeção de SQL para execução de código remoto ao executar a consulta MySQL SELECT … INTO OUTFILE via falha de SQLi para criar arquivos arbitrários no dispositivo.

Isso permitiu que eles escrevessem um arquivo .pth em Python no diretório site‑packages.

Como os arquivos .pth são automaticamente carregados e executados quando o Python é iniciado, os pesquisadores encontraram um script legítimo de Python CGI do FortiWeb (/cgi-bin/ml‑draw.py) que poderia ser usado para iniciar o código malicioso no arquivo .pth e alcançar execução de código remoto.

Uma vez que os exploits agora são públicos e amplamente disponíveis, é altamente recomendado que os administradores priorizem a instalação dos patches para evitar que os servidores sejam comprometidos.

Até o momento, não há indicação de que a vulnerabilidade esteja sendo ativamente explorada, mas isso provavelmente mudará em um futuro próximo.

Publicidade

Traçamos um caminho para você ir do zero ao avançado em hacking

Conheça a Solyd One, e tenha acesso a todos os cursos de segurança ofensiva da Solyd, todas as certificações práticas, incluindo a SYCP, 2 CTFs anuais com prêmios de até 30 mil reais, dezenas de laboratórios realísticos, suporte, comunidade e muito mais. Saiba mais...