
دليل إثبات المفهوم (PoC) والكشف عن ثغرة تنفيذ التعليمات البرمجية عن بُعد (RCE) الحرجة غير المصادَق عليها في IBM Langflow OSS، ويغطي تجاوز رمز auto_login وتقييم Python غير الآمن عبر /validate/code.
ثغرة حرجة لتنفيذ الأوامر عن بُعد دون مصادقة، تؤثر على IBM Langflow OSS.
تنشأ الثغرة من الجمع بين نقطتي ضعف:
/api/v1/auto_login إصدار رمز حامل (bearer token) مميَّز من نوع SUPERUSER لمستدعٍ عبر الشبكة غير مُصادَق عليه./api/v1/validate/code كود Python يتحكم فيه المهاجم في سياق تنفيذ غير آمن.عند الجمع بينهما، يمكن أن تؤدي هاتان الضعفتان إلى تنفيذ كود Python عشوائي بصلاحيات عملية الخلفية (backend) الخاصة بـ Langflow.
تحصل الثغرة على درجة CVSS v3.1 تبلغ 9.8 (حرجة) وتُصنَّف ضمن CWE-94 — التحكم غير السليم في توليد الكود.
| المنتج | الإصدارات المتأثرة | الإصدار المُصلَح |
|---|---|---|
| IBM Langflow OSS | 1.0.0 – 1.10.0 | 1.10.1 |
توصي IBM بالترقية إلى Langflow OSS 1.10.1.
CVSS: 9.8 حرجة
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Unauthenticated attacker
|
v
/api/v1/auto_login
|
| SUPERUSER bearer token
v
/api/v1/validate/code
|
| Unsafe Python evaluation
v
Remote Code Execution
|
v
Langflow backend process
المشكلة الأمنية الجوهرية ليست مجرد وجود أيٍّ من هذين المسارين، بل ينبع الأثر من الجمع بين آلية تجاوز المصادقة/إصدار الرموز وبين آلية التحقق غير الآمنة من الكود.
يمكن أن يمنح الاستغلال الناجح المهاجمَ تنفيذًا للكود في السياق الأمني الخاص بالواجهة الخلفية (backend) لـ Langflow.
واعتمادًا على طريقة النشر، قد يكشف ذلك:
لذلك يعتمد الأثر العملي بشكل كبير على الصلاحيات وإمكانية الوصول إلى الشبكة المتاحة لعملية Langflow.
الطلبات التالية مخصَّصة لتحديد الهوية دون التسبب بضرر ولا تحتوي على حمولة لتنفيذ الكود.
GET / HTTP/1.1
Host: TARGET
Accept: */*
Connection: close
GET /docs HTTP/1.1
Host: TARGET
Accept: text/html,*/*
Connection: close
GET /api/v1/auto_login HTTP/1.1
Host: TARGET
Accept: application/json
Connection: close
في الاختبار الدفاعي، سجِّل رمز الحالة والترويسات وبنية الاستجابة بدلًا من محاولة استخدام أي بيانات اعتماد يتم إرجاعها.
نمط تتبع دفاعي مفيد هو:
/api/v1/auto_login
followed shortly by
/api/v1/validate/code
المصدر الذي يرسل هذه الطلبات دون حركة مرور الواجهة الأمامية المعتادة لـ Langflow حولها يستحق التحقيق بشكل خاص.
لا تختبر الثغرة بإرسال كود Python عشوائي إلى /api/v1/validate/code ضد مثيل إنتاجي.
سير عمل التحقق الآمن هو:
1. Identify the Langflow version
2. Confirm whether it is <= 1.10.0
3. Review access logs for the affected endpoints
4. Check for unexpected SUPERUSER token issuance
5. Check process/application logs for suspicious Python execution
6. Upgrade to 1.10.1
7. Rotate potentially exposed credentials
8. Investigate the host if exploitation is suspected
راقب ما يلي:
POST /api/v1/validate/code
GET /api/v1/auto_login
POST /api/v1/auto_login
تشمل السلوكيات المثيرة للشك بشكل خاص:
/api/v1/auto_login200 OK تحتوي على access_tokenauto_login يتبعه فورًا /api/v1/validate/codeقم بترقية Langflow OSS إلى:
1.10.1 or later
وتوصي IBM تحديدًا بالترقية إلى 1.10.1.
إذا كان هناك اشتباه في حدوث استغلال، فلا ينبغي اعتبار التصحيح وحده كافيًا. راجع السجلات وبيانات التتبع الخاصة بالمضيف، وأعد تدوير أي أسرار قد تكون متاحة لعملية Langflow.
أضافت CISA الثغرة CVE-2026-9198 إلى كتالوج الثغرات المستغلة المعروفة لديها في 4 أغسطس 2026.
هذا المستودع مخصَّص لأبحاث الأمن المصرَّح بها، وتحليل الثغرات، وهندسة الكشف، وبيئات المختبرات الخاضعة للتحكم.
| المقياس | القيمة |
|---|
| ناقل الهجوم | الشبكة |
| تعقيد الهجوم | منخفض |
| الصلاحيات المطلوبة | لا شيء |
| تفاعل المستخدم | لا شيء |
| السرية | عالية |
| السلامة | عالية |
| التوافرية | عالية |
| النطاق | غير متغير |