
Flowise AI ≤ 3.0.5 के लिए बिना प्रमाणीकरण वाला पासवर्ड रीसेट एक्सप्लॉइट। यह /api/v1/account/forgot-password एंडपॉइंट का दुरुपयोग करके बिना पूर्व प्रमाणीकरण के किसी भी उपयोगकर्ता का पासवर्ड बदल देता है। इसमें एक प्रूफ-ऑफ-कॉन्सेप्ट स्क्रिप्ट और शमन दिशानिर्देश शामिल हैं।
CVE ID: CVE-2025-58434
प्रभावित सॉफ़्टवेयर: Flowise AI
कमज़ोर संस्करण: <= 3.0.5
स्थिर संस्करण: 3.0.6 और बाद के
गंभीरता: क्रिटिकल
लेखक: r3nsi15
दिनांक: 2025
Flowise AI के संस्करण 3.0.5 तक (सहित) पासवर्ड रीसेट प्रवाह में एक टूटा हुआ प्रमाणीकरण दोष है। /api/v1/account/forgot-password एंडपॉइंट अपनी API प्रतिक्रिया में सीधे एक अस्थायी रीसेट टोकन (tempToken) लौटाता है, बिना किसी पूर्व प्रमाणीकरण या ईमेल सत्यापन की आवश्यकता के।
एक अनधिकृत हमलावर जो एक मान्य ईमेल पता जानता है (या उसे एन्यूमरेट कर सकता है) निम्न कार्य कर सकता है:
tempToken निकालें।यह भेद्यता ईमेल-आधारित सत्यापन प्रवाह को पूरी तरह से बायपास कर देती है, क्योंकि टोकन केवल खाता स्वामी के ईमेल इनबॉक्स में भेजे जाने के बजाय HTTP प्रतिक्रिया में लीक हो जाता है।
फ़ाइल: CVE-2025-58434_POC.py
requests लाइब्रेरीpip install requests
python3 CVE-2025-58434_POC.py -e <target_email> -u <target_url> [-p <new_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!
पासवर्ड रीसेट API को tempToken को उपयोगकर्ता के ईमेल पर भेजने के लिए डिज़ाइन किया गया था, लेकिन सर्वर ने इसे JSON प्रतिक्रिया बॉडी में भी सीधे शामिल कर दिया। इसका मतलब है कि कोई भी कॉल करने वाला — प्रमाणित हो या न हो — अनुरोध करते ही टोकन तुरंत प्राप्त कर लेता है, जिससे ईमेल डिलीवरी चरण अप्रासंगिक हो जाता है।
इसके अतिरिक्त, ईमेल एन्यूमरेशन संभव है क्योंकि लॉगिन एंडपॉइंट एक अलग त्रुटि संदेश ("Incorrect Email or Password") केवल तब लौटाता है जब ईमेल मौजूद होता है, जिससे हमला शुरू करने से पहले मान्य खातों की पुष्टि करना आसान हो जाता है।
tempToken केवल पंजीकृत ईमेल पते के माध्यम से प्रेषित हो।यह प्रूफ ऑफ कॉन्सेप्ट केवल शैक्षिक और अधिकृत सुरक्षा अनुसंधान उद्देश्यों के लिए प्रदान किया गया है। स्पष्ट लिखित अनुमति के बिना सिस्टम के विरुद्ध इस स्क्रिप्ट का उपयोग अवैध और अनैतिक है। लेखक और योगदानकर्ता किसी भी दुरुपयोग के लिए कोई जिम्मेदारी नहीं लेते हैं।
| एंडपॉइंट | विधि | उद्देश्य |
|---|
/api/v1/auth/login | POST | यह जाँचने के लिए उपयोग किया जाता है कि ईमेल खाता मौजूद है या नहीं |
/api/v1/account/forgot-password | POST | रीसेट ट्रिगर करता है और प्रतिक्रिया में tempToken लीक करता है |
/api/v1/account/reset-password | POST | टोकन का उपयोग करके पासवर्ड परिवर्तन पूरा करता है |
| फ़्लैग | लॉन्ग फ़ॉर्म | आवश्यक | विवरण |
|---|
-e | --email | हाँ | लक्ष्य खाते का ईमेल पता |
-u | --url | हाँ | Flowise इंस्टेंस का आधार URL |
-p | --password | नहीं | सेट किया जाने वाला नया पासवर्ड (डिफ़ॉल्ट password है) |