
Exploit de redefinição de senha não autenticada para Flowise AI ≤ 3.0.5. Abusa do endpoint /api/v1/account/forgot-password para alterar a senha de qualquer usuário sem autenticação prévia. Inclui um script de prova de conceito e diretrizes de mitigação.
CVE ID: CVE-2025-58434
Software Afetado: Flowise AI
Versões Vulneráveis: <= 3.0.5
Versão Corrigida: 3.0.6 e posteriores
Gravidade: Crítica
Autor: r3nsi15
Data: 2025
As versões do Flowise AI até e incluindo a 3.0.5 contêm uma falha de autenticação quebrada no fluxo de redefinição de senha. O endpoint /api/v1/account/forgot-password retorna um token temporário de redefinição (tempToken) diretamente na sua resposta da API, sem exigir qualquer forma de autenticação ou verificação por e-mail.
Um atacante não autenticado que conhece (ou consegue enumerar) um endereço de e-mail válido pode:
tempToken diretamente da resposta da API.Essa vulnerabilidade contorna completamente o fluxo de verificação baseado em e-mail, pois o token é vazado na resposta HTTP em vez de ser enviado apenas para a caixa de entrada do proprietário da conta.
Arquivo: CVE-2025-58434_POC.py
requestspip install requests
python3 CVE-2025-58434_POC.py -e <email_alvo> -u <url_alvo> [-p <nova_senha>]
python3 CVE-2025-58434_POC.py -e [email protected] -u https://flowise.exemplo.com -p P@ssw0rd!
[+] Email [email protected] existe!
[!] Enviando solicitação de forgot password
[!] Enviando solicitação de reset password
[+] Senha alterada com sucesso para: P@ssw0rd!
A API de redefinição de senha foi projetada para enviar o tempToken para o e-mail do usuário, mas o servidor também o incluiu diretamente no corpo da resposta JSON. Isso significa que qualquer chamador — autenticado ou não — recebe o token imediatamente ao fazer a solicitação, tornando a entrega por e-mail irrelevante.
Além disso, a enumeração de e-mails é possível porque o endpoint de login retorna uma mensagem de erro distinta ("Incorrect Email or Password") apenas quando o e-mail existe, tornando trivial confirmar contas válidas antes de lançar o ataque.
tempToken seja transmitido exclusivamente através do endereço de e-mail registrado.Esta prova de conceito é fornecida apenas para fins educacionais e de pesquisa de segurança autorizada. O uso deste script contra sistemas sem permissão explícita por escrito é ilegal e antiético. O autor e os contribuidores não assumem nenhuma responsabilidade por uso indevido.
| Endpoint | Método | Propósito |
|---|
/api/v1/auth/login | POST | Usado para verificar se um e-mail existe |
/api/v1/account/forgot-password | POST | Dispara o reset e vaza o tempToken na resposta |
/api/v1/account/reset-password | POST | Completa a alteração de senha usando o token |
| Flag | Nome Longo | Obrigatório | Descrição |
|---|
-e | --email | Sim | Endereço de e-mail da conta alvo |
-u | --url | Sim | URL base da instância Flowise |
-p | --password | Não | Nova senha a ser definida (padrão: password) |