
Fortinet ha publicado correcciones para una
falla de seguridad crítica que afecta a FortiWeb y que podría permitir
que un atacante no autenticado ejecute comandos arbitrarios de base de datos
en instancias susceptibles.
Identificada como CVE-2025-25257, la vulnerabilidad tiene una
puntuación CVSS de 9,6 sobre un máximo de 10. «Una neutralización indebida de elementos especiales utilizados en una
vulnerabilidad de comando SQL (‘Inyección SQL’) [CWE-89] en FortiWeb podría
permitir que un atacante no autenticado ejecute código o comandos SQL no
autorizados mediante solicitudes HTTP o HTTPS manipuladas», declaró Fortinet en un aviso publicado esta semana.
La deficiencia afecta a las siguientes versiones:
- FortiWeb 7.6.0 a 7.6.3 (Actualizar a 7.6.4 o superior)
- FortiWeb 7.4.0 a 7.4.7 (Actualizar a 7.4.8 o superior)
- FortiWeb 7.2.0 a 7.2.10 (Actualizar a 7.2.11 o superior)
- FortiWeb 7.0.0 a 7.0.10 (Actualizar a 7.0.11 o superior)
Kentaro Kawane, de GMO Cybersecurity, a quien recientemente se le atribuyó el
informe de una serie de vulnerabilidades críticas en Cisco Identity Services e
ISE Passive Identity Connector (CVE-2025-20286,
CVE-2025-20281, and CVE-2025-20282), ha reconocido haber descubierto el problema.
En un análisis publicado hoy, watchTowr Labs indicó que el problema radica en
una función llamada "get_fabric_user_by_token"
, asociada al
componente Fabric Connector, que actúa como puente entre FortiWeb y otros
productos de Fortinet.
Esta función, a su vez, se invoca desde otra función llamada
"fabric_access_check"
, que se llama desde tres puntos finales de API
diferentes:
"/api/fabric/device/status", "/api/v[0-9]/fabric/widget/[a-z]+" y "/api/v[0-9]/fabric/widget".
El problema radica en que la entrada controlada por el atacante (transmitida a
través de un encabezado de autorización de token de portador en una solicitud
HTTP especialmente diseñada) se envía directamente a una consulta de base de
datos SQL sin la debida limpieza para garantizar que no sea dañina ni contenga
código malicioso.
El ataque puede extenderse aún más integrando una sentencia
SELECT ... INTO OUTFILE
para escribir los resultados de la
ejecución del comando en un archivo del sistema operativo subyacente,
aprovechando que la consulta se ejecuta con el usuario "mysql"
.
«La nueva versión de la función reemplaza la consulta de cadena de formato
anterior con sentencias preparadas, un intento razonable de evitar la
inyección directa de SQL», afirmó el investigador de seguridad Sina Kheirkhah.
Como solución temporal hasta que se puedan aplicar los parches necesarios, se
recomienda a los usuarios desactivar la interfaz administrativa HTTP/HTTPS.
Dado que las vulnerabilidades en los dispositivos Fortinet han sido explotadas
por actores de amenazas en el pasado, es fundamental que los usuarios
actualicen rápidamente a la última versión para mitigar los posibles riesgos.
Fuente:
THN