Se ha descubierto y explotado una vulnerabilidad de seguridad crítica en el conector de tela FortiWeb de Fortinet, lo que permite a los atacantes ejecutar código remoto en los sistemas afectados sin autenticación.
La vulnerabilidad, designada CVE-2025-25257, representa una amenaza significativa para las organizaciones que utilizan las soluciones de firewall de aplicaciones web de Fortinet.
Control de llave
1. Fortinet Fortiweb Fabric Connector tiene una inyección SQL no autenticada (CVE-2025-25257) que permite la ejecución del código remoto.
2. Impactos Fortiweb 7.0.0-7.0.10, 7.2.0-7.2.10, 7.4.0-7.4.7, 7.6.0-7.6.3; Parche actualizando a 7.0.11, 7.2.11, 7.4.8 o 7.6.4.
3. Los atacantes pueden evitar la autenticación, obtener acceso a la raíz y ejecutar código a través de escrituras de archivos maliciosos.
4. Aplicar parches, restringir el acceso a la API y controlar la actividad sospechosa para evitar compromiso.
La vulnerabilidad proviene de una falla de inyección SQL no autenticada en el mecanismo de autenticación del conector de tela Fortiweb.
Este conector sirve como middleware de integración entre los firewalls de aplicaciones web de FortiWeb y otros productos del ecosistema de Fortinet, lo que permite actualizaciones de políticas dinámicas basadas en cambios en la infraestructura en tiempo real e inteligencia de amenazas.
CVE-2025-25257 afecta múltiples versiones de FortiWeb, incluidas las versiones 7.0.0 a 7.0.10, 7.2.0 a 7.2.10, 7.4.0 a 7.4.7 y 7.6.0 a 7.6.3. Fortinet ha lanzado parches que requieren actualizaciones a las versiones 7.0.11, 7.2.11, 7.4.8 y 7.6.4, respectivamente.
Vulnerabilidad del conector de tela Fortinet Fortiweb
Los investigadores de Watchtower que analizaron la vulnerabilidad descubrieron que la falla reside en la función get_fabric_user_by_token, que procesa tokens de autenticación de dispositivos externos de Fortinet que intentan integrarse con las API FortiWeb.
La función construye incorrectamente las consultas SQL insertando directamente la entrada controlada por el usuario sin desinfección o declaraciones parametrizadas.
El código vulnerable utiliza una función SNPRINTF simple para crear consultas como Select ID de Fabric_user.User_Table Where Token = ‘%S’, donde el valor del token proviene directamente de los encabezados de autorización HTTP.
Esta vulnerabilidad clásica de inyección SQL se puede explotar a través de tokens de portador especialmente elaborados en solicitudes de API a puntos finales como/API/Fabric/Device/Status.
La explotación requiere comprender las restricciones de entrada impuestas por la función SSCANF, que deja de analizar el primer carácter espacial y limita la entrada a 128 caracteres.
Los atacantes pueden omitir estas restricciones utilizando la sintaxis de comentarios de MySQL (/**/) para reemplazar los espacios y las cargas útiles cuidadosamente elaboradas que se ajustan dentro del límite de caracteres.
Investigadores demostrado Que los atacantes pueden pasar por alto la autenticación por completo utilizando cargas útiles simples como Aaaaaa’or’1 ‘=’ 1, lo que hace que la consulta SQL devuelva la autenticación exitosa para cualquier solicitud. Los ataques más sofisticados aprovechan los MySQL en la declaración OUTFILE para escribir archivos arbitrarios en el sistema de archivos.
La vulnerabilidad se vuelve particularmente peligrosa debido a la configuración de FortiWeb, donde el proceso MySQL se ejecuta con privilegios raíz en lugar de la cuenta de usuario MySQL restringida típica.
Esta configuración errónea permite a los atacantes escribir archivos en cualquier parte del sistema con permisos raíz.
Los investigadores intensificaron con éxito la inyección SQL a la ejecución de código remoto al explotar el mecanismo de paquetes de sitio de Python. Ellos demostrado Escribir archivos Maliciosos .Th que contienen código Python que se ejecutan automáticamente cuando los scripts CGI del sistema ejecutan procesos Python.
La cadena de ataque implica inyectar cargas útiles que almacenan el código de Python malicioso en la base de datos, luego utilizando las declaraciones de Union Select con Outfile para escribir el código en el directorio de Sitio-Packages de Python.
Cuando se ejecutan los scripts de Python CGI legítimos, el código malicioso se ejecuta automáticamente con los privilegios del sistema.
Las organizaciones que utilizan versiones FortiWeb afectadas deben aplicar inmediatamente los parches disponibles. Como mitigación provisional, los administradores deben restringir el acceso a los puntos finales de la API del conector de tela y monitorear los intentos de autenticación sospechosos de orientación/API/tela/rutas.
La combinación de acceso no autenticado, ejecución de MySQL a nivel raíz y rutas de ejecución de código accesible crearon una tormenta perfecta para el compromiso crítico del sistema.
Fortinet ha reconocido la vulnerabilidad y proporcionó parches que abordan la inyección SQL subyacente mediante la implementación de consultas parametrizadas adecuadas utilizando declaraciones preparadas en lugar de la concatenación de cadenas.
Investigue el comportamiento de malware en vivo, rastree cada paso de un ataque y tome decisiones de seguridad más rápidas y inteligentes -> Prueba cualquiera.