- شناسه CVE-2025-58434 :CVE
- CWE-306 :CWE
- yes :Advisory
- منتشر شده: سپتامبر 12, 2025
- به روز شده: سپتامبر 12, 2025
- امتیاز: 9.8
- نوع حمله: Authentication Bypass
- اثر گذاری: Unknown
- حوزه: نرم افزارهای کاربردی
- برند: FlowiseAI
- محصول: Flowise
- وضعیتPublished :CVE
- Yes :POC
- وضعیت آسیب پذیری: patch شده
چکیده
یک آسیبپذیری بحرانی در Flowise نسخه 3.0.5 و پیش از آن شناسایی شده است که به دلیل افشای توکن بازیابی رمز عبور (password reset token) بدون احراز هویت، امکان تصاحب حساب (Account Takeover) را فراهم میکند. این ضعف اندپوینت forgot-password را تحت تأثیر قرار داده و به مهاجمان اجازه میدهد توکن معتبر کاربران دلخواه را دریافت کرده و رمز عبور آنها را تغییر دهند.
توضیحات
آسیبپذیری CVE-2025-58434 در Flowise، پلتفرم طراحی جریانهای مدلهای زبانی بزرگ (Large Language Model) با رابط کاربری drag & drop، ناشی از عدم احراز هویت برای عملکرد حیاتی (مطابق با CWE-306) در اندپوینت /api/v1/account/forgot-password است. این ضعف در نسخه 3.0.5 و پیش از آن وجود دارد و به مهاجمان اجازه میدهد تنها با داشتن آدرس ایمیل کاربر، اطلاعات حساس شامل توکن بازیابی رمز عبور معتبر (tempToken) و زمان انقضای آن را بدون هیچگونه تأیید یا تعامل کاربر دریافت کنند.
توکن به دست آمده سپس میتواند در اندپوینت //api/v1/account/forgot-password استفاده شود تا رمز عبور کاربر مستقیماً ، بدون نیاز به تأیید ایمیل یا هیچ تعامل انسانی، تغییر یابد که این مسئله منجر به تصاحب کامل حساب (Account Takeover, ATO) میشود. این مکانیزم دقیقاً نمونهای از دورزدن احراز هویت (Authentication Bypass) می باشد که از طریق دسترسی بدون اعتبارسنجی به عملکرد حیاتی API امکانپذیر شده است.
این آسیبپذیری با شدت بحرانی ارزیابی شده، از طریق شبکه قابل بهرهبرداری است، پیچیدگی حمله پایین بوده و هیچ نیازی به احراز هویت یا تعامل کاربر ندارد. ضعف هم در استقرارهای ابری (Cloud) و هم در نسخههای لوکال / Self-Hosted وجود دارد.
کد اثبات مفهوم (PoC) منتشر شده نشان میدهد که مهاجم میتواند با ارسال درخواست POST به //api/v1/account/forgot-password با پارامتر ایمیل قربانی، توکن را دریافت کرده و بلافاصله با استفاده از آن، رمز عبور حساب هدف را تغییر دهد. پاسخ API شامل اطلاعات کامل کاربر (شناسه، نام، ایمیل، هش اعتبارنامه، وضعیت) و توکن معتبر است که امکان تصاحب حسابهای ادمین یا با ارزش را فراهم میکند.
پیامدهای این ضعف شامل نقض محرمانگی با افشای اطلاعات کاربر، اختلال در یکپارچگی از طریق تغییر رمز عبور و تصاحب حساب و در دسترسپذیری با جلوگیری از استفاده قانونی کاربران است که میتواند منجر به سرقت دادهها و کنترل داراییهای سازمانی شود.
توسعهدهندگان Flowise این آسیبپذیری را در commit 9e178d68873eb876073846433a596590d3d9c863 پچ کردهاند. اصلاحات شامل عدم بازگردانی توکن در پاسخ API و ارسال آن تنها از طریق ایمیل ثبتشده کاربر و همچنین اعتبارسنجی قوی توکن (یکبار مصرف، دارای انقضای کوتاه، وابسته به منشأ درخواست و تأیید شده از طریق ایمیل) است، تا امکان سوءاستفاده و تصاحب حساب به طور کامل رفع شود.
CVSS
Score | Severity | Version | Vector String |
9.8 | CRITICAL | 3.1 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
لیست محصولات آسیب پذیر
Versions | Product |
affected at <= 3.0.5 | Flowise |
لیست محصولات بروز شده
Versions | Product |
Commit 9e178d6 and later | Flowise |
استفاده محصول در ایران
در این جدول، تعداد صفحات ایندکسشده در گوگل با دامنه .ir که FlowiseAI را ذکر کرده اند، ثبت شده است. این داده صرفاً برای برآورد تقریبی حضور محصولات در وب ایران استفاده شده و نمایانگر میزان نصب دقیق و استفاده واقعی نیست.
Approx. Usage in .ir Domain via Google
(Total Pages) |
Product |
75 | FlowiseAI |
نتیجه گیری
با توجه به ماهیت بحرانی این آسیبپذیری در Flowise که به مهاجمان امکان تصاحب حساب با استفاده از توکن بازیابی رمز عبور بدون احراز هویت را میدهد، اتخاذ اقدامات فوری و جامع برای کاهش ریسک حیاتی است. این اقدامات شامل موارد زیر است:
- بهروزرسانی نرمافزار: هرچه سریعتر Flowise را به نسخهای که شامل اصلاحات امنیتی در commit 9e178d6 است بهروزرسانی کنید تا اندپوینتهای بازیابی رمز عبور فقط توکنها را از طریق کانال ایمیل ثبتشده ارسال کرده و پاسخهای API از افشای اطلاعات حساس جلوگیری کنند.
- عدم بازگردانی توکن یا اطلاعات حساس در پاسخهای API: توکنها باید فقط از طریق کانال ایمیل امن تحویل داده شوند و هیچ جزئیات حساسی در پاسخ API نمایش داده نشود.
- استفاده از پاسخ عمومی در اندپوینت forgot-password: پاسخ API باید یک پیام موفقیت عمومی ارائه دهد تا مهاجمان نتوانند با تحلیل پاسخ، وجود یا عدم وجود کاربران را تشخیص دهند.
- اعتبارسنجی قوی توکن بازیابی رمز عبور: توکنها باید یکبارمصرف (single-use)، دارای انقضای کوتاه، وابسته به منشأ درخواست و اعتبارسنجیشده از طریق ایمیل باشند.
- اعمال اصلاحات در تمامی استقرارها: اقدامات امنیتی باید برای هر دو محیط ابری (cloud) و لوکال/self-hosted اجرا شوند تا همه استقرارها ایمن گردد.
- نظارت و ثبت لاگها: تمام درخواستهای بازیابی رمز عبور باید ثبت و بررسی شوند تا عملکردهای مشکوک شناسایی گردد.
- استفاده از احراز هویت چندعاملی برای حسابهای حساس (MFA): حسابهای مهم و با دسترسی بالا باید از MFA بهره ببرند تا حتی در صورت دستیابی به توکن، تصاحب کامل حساب محدود شود.
اجرای همزمان این اقدامات، ریسک تصاحب حساب، افشای دادهها و کنترل غیرمجاز بر سرویسها را به حداقل رسانده و امنیت کل محیطهای Flowise (ابری و لوکال) را تضمین میکند. این آسیبپذیری نشاندهنده اهمیت اعمال کنترلهای احراز هویت و مدیریت توکن در APIهای حساس برای جلوگیری از حملات تصاحب حساب است.
امکان استفاده در تاکتیک های Mitre Attack
Initial Access (TA0001)
مهاجم بدون نیاز به احراز هویت میتواند از طریق اندپوینت عمومی /api/v1/account/forgot-password درخواست ارسال کند. این ضعف باعث میشود تنها با داشتن ایمیل قربانی، به توکن بازیابی رمز عبور دسترسی پیدا کند.
Credential Access (TA0006)
به دلیل افشای مستقیم tempToken در پاسخ API مهاجم به یک اعتبارنامه حساس token دسترسی پیدا میکند که در حالت عادی باید به صورت امن فقط از طریق ایمیل تحویل داده میشد.
Privilege Escalation (TA0004)
با استفاده از توکن بهدستآمده، مهاجم میتواند رمز عبور حساب قربانی (حتی ادمین) را تغییر دهد و سطح دسترسی خود را ارتقا دهد.
Persistence (TA0003)
پس از تغییر رمز عبور حساب، مهاجم کنترل کامل و مداوم حساب را بهدست میآورد و کاربر اصلی دیگر نمیتواند به حساب خود دسترسی داشته باشد.
Impact (TA0040)
مهاجم میتواند باعث تصاحب کامل حساب (ATO)، نقض محرمانگی (افشای اطلاعات کاربر)، اختلال در یکپارچگی (تغییر رمز و دادهها) و کاهش دسترسپذیری (قفل شدن حساب قربانی) شود.
منابع
- https://www.cve.org/CVERecord?id=CVE-2025-58434
- https://www.cvedetails.com/cve/CVE-2025-58434/
- https://github.com/FlowiseAI/Flowise/security/advisories/GHSA-wgpv-6j63-x5ph
- https://vulmon.com/vulnerabilitydetails?qid=CVE-2025-58434
- https://vuldb.com/?id.323808
- https://github.com/FlowiseAI/Flowise/commit/9e178d68873eb876073846433a596590d3d9c863
- https://nvd.nist.gov/vuln/detail/CVE-2025-58434
- http://cwe.mitre.org/data/definitions/306.html
Flowise (CVE-2025-58434) اثبات آسیبپذیری
معرفی آسیبپذیری
نرمافزار آسیبپذیر: Flowise
نسخههای آسیبپذیر: نسخههای 3.0.5 و قبل از آن (هم در محیطهای Cloud و هم Self-Hosted)
ماهیت مشکل:
این آسیبپذیری از نوع عدم وجود احراز هویت برای عملکرد حیاتی (CWE-306) است.
اندپوینت /api/v1/account/forgot-password بدون هیچگونه اعتبارسنجی، توکن معتبر بازیابی رمز عبور (tempToken) و زمان انقضای آن را در پاسخ API بازمیگرداند.
این ضعف به مهاجم اجازه میدهد تنها با دانستن ایمیل قربانی، رمز عبور او را تغییر داده و حساب را تصاحب کند (Account Takeover – ATO).
شدت آسیبپذیری: بحرانی (CVSS: 9.8)
محیط آزمایش
برای بازتولیدPoC ، نیاز به شرایط زیر است:
یک نمونه از Flowise نسخه 3.0.5 یا قبل از آن Cloud یا Self-Hosted
دسترسی شبکه به اندپوینت API
آدرس ایمیل معتبر مربوط به یک کاربر هدف
اجرای PoC
گام 1: ارسال یک درخواست POST به آدرس /api/v1/account/forgot-password با پارامتر ایمیل قربانی
گام 2: دریافت پاسخ شامل اطلاعات کاربر (شناسه، نام، ایمیل، هش گذرواژه، وضعیت حساب) و توکن معتبر (tempToken)
گام 3: استفاده از توکن بهدستآمده در یک درخواست بعدی به همان اندپوینت برای تغییر رمز عبور
گام 4: مهاجم اکنون دسترسی کامل به حساب قربانی (حتی حسابهای ادمین) را دارد
نتیجه مورد انتظار
در حالت امن، سیستم باید:
- توکن بازیابی رمز را فقط از طریق ایمیل ثبتشده کاربر ارسال کند
- هیچگونه جزئیات حساس یا توکن در پاسخ API نمایش داده نشود
- پاسخ API صرفاً یک پیام عمومی موفقیت (Success)بازگرداند تا مهاجم نتواند وجود یا عدم وجود کاربر را تشخیص دهد
تحلیل فنی
این ضعف ناشی از طراحی نادرست API در Flowise است:
اندپوینت forgot-password به صورت مستقیم و بدون هیچگونه احراز هویت، توکن بازیابی رمز را برمیگرداند توکن بازگرداندهشده معتبر، دارای زمان انقضا و قابل استفاده برای تغییر رمز عبور است. این مسئله امکان تصاحب حساب (ATO) را برای مهاجم فراهم میکند
پیامدها:
- نقض محرمانگی: افشای اطلاعات حساس کاربر
- اختلال در یکپارچگی: تغییر رمز عبور و کنترل حساب
- کاهش دسترسپذیری: مسدود شدن دسترسی کاربر قانونی به حساب خود
رفع مشکل
- بهروزرسانی به نسخه اصلاحشده شامل commit 9e178d6
- اعمال تغییرات امنیتی در اندپوینت بازیابی رمز عبور
- عدم بازگرداندن توکن در پاسخ API
- ارسال توکن تنها از طریق ایمیل ثبتشده
- طراحی توکنها به صورت یکبارمصرف، کوتاهمدت و وابسته به منبع درخواست
- اعتبارسنجی توکن از طریق ایمیل کاربر
- اجرای احراز هویت چندعاملی (MFA) برای حسابهای حساس
- ثبت و بررسی همه درخواستهای بازیابی رمز عبور جهت شناسایی فعالیتهای مشکوک
زنجیره حمله پیشنهادی
در شکل زیر میتوان یک زنجیره حمله برای این آسیب پذیری مشاهده است.
منابع
CVE-2025-58434 – Unauthenticated Password Reset Token Disclosure in Flowise
CVE ID: CVE-2025-58434
Severity: Critical (CVSS 9.8)
Affected Systems:
- Flowise versions 3.0.5 and earlier
- Both Cloud and Self-Hosted deployments
Patched In: Commit 9e178d68873eb876073846433a596590d3d9c863
References:
- https://www.cve.org/CVERecord?id=CVE-2025-58434
- https://nvd.nist.gov/vuln/detail/CVE-2025-58434
- https://github.com/FlowiseAI/Flowise/security/advisories/GHSA-wgpv-6j63-x5ph
- https://vulmon.com/vulnerabilitydetails?qid=CVE-2025-58434
- https://vuldb.com/?id.323808
Description
A critical vulnerability exists in Flowise up to version 3.0.5 due to missing authentication for a critical function (CWE-306).
The /api/v1/account/forgot-password
endpoint discloses a valid password reset token (tempToken
) and expiration time to unauthenticated attackers.
With only the victim’s email address, attackers can retrieve this token and immediately reset the victim’s password without any email confirmation or user interaction.
This results in a complete Account Takeover (ATO).
Prerequisites
- Attacker must know the email address of the target user.
- No authentication or prior access is required.
- Internet/network access to the Flowise instance.
Proof of Concept (PoC)
- Send a crafted POST request to
/api/v1/account/forgot-password
with the victim’s email address. - The API response returns sensitive user details (ID, name, email, password hash, account status) along with a valid
tempToken
. - Use the returned token in a follow-up request to change the victim’s password.
- The attacker now has full control of the victim’s account.
Expected Result
- The password reset process should only send tokens to the registered email.
- API responses should not disclose sensitive details or valid tokens.
Mitigation
- Patch: Update Flowise to a version including commit
9e178d6
. - Ensure password reset tokens are only delivered via email to the user’s registered address.
- Tokens must be single-use, short-lived, and validated against request origin and email verification.
- API responses should return only a generic success message to prevent user enumeration.
- Apply changes to both Cloud and Self-Hosted deployments.
- Enable Multi-Factor Authentication (MFA) for high-privilege accounts.
- Monitor and log all password reset attempts for anomalies.
Disclaimer
This information is provided for educational and defensive security purposes only.
Do not exploit this vulnerability on systems without explicit authorization.
The author assumes no responsibility for misuse or damage resulting from the use of this information.