
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.
ID CVE: CVE-2025-58434
Software afetado: Flowise AI
Versões vulneráveis: <= 3.0.5
Versão corrigida: 3.0.6 e posteriores
Severidade: Crítica
Autor: arensballiu
Data: 2025
As versões do Flowise AI até a 3.0.5, inclusive, 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 de redefinição temporário (tempToken) diretamente na resposta da API, sem exigir qualquer forma de autenticação prévia 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 por e-mail pretendido, pois o token vaza na resposta HTTP em vez de ser enviado apenas para a caixa de entrada do proprietário da conta.
| Endpoint | Método | Finalidade |
|---|---|---|
/api/v1/auth/login | POST | Usado para verificar se uma conta de e-mail existe |
/api/v1/account/forgot-password | POST | Dispara a redefinição e vaza o tempToken na resposta |
/api/v1/account/reset-password | POST | Conclui a alteração de senha usando o token |
Arquivo: CVE-2025-58434_POC.py
requestspip install requests
python3 CVE-2025-58434_POC.py -e <target_email> -u <target_url> [-p <new_password>]
| Flag | Forma longa | Obrigatório | Descrição |
|---|---|---|---|
-e | --email | Sim | Endereço de e-mail da conta alvo |
-u | --url | Sim | URL base da instância do Flowise |
-p | --password | Não | Nova senha a ser definida (padrão: password) |
python3 CVE-2025-58434_POC.py -e [email protected] -u https://flowise.example.com -p P@ssw0rd!
[+] Email [email protected] exists!
[!] Sending forgot password request
[!] Sending reset password request
[+] Password Changed Successfully to: P@ssw0rd!
A API de redefinição de senha foi projetada para enviar o tempToken ao e-mail do usuário, mas o servidor também o incluía 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 etapa de 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 por meio 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 escrita explícita é ilegal e antiético. O autor e os contribuidores não assumem qualquer responsabilidade pelo uso indevido.