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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-33017-Lab — مختبر قابل لإعادة الإنتاج لـ CVE-2026-33017، وهو ثغرة تنفيذ تعليمات برمجية عن بُعد غير مصادق عليها في Langflow. يتضمن خدمة ضعيفة معزولة عبر Docker وPoC بأقل ضرر يوضح تنفيذ التعليمات البرمجية عبر نقطة نهاية البناء العامة. | Kitploit
أدوات/GitHubGitHub/rootdirective-sec/cve-2026-33017-lab
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبالأوراق والأبحاثالتعلم والتعليممختبرات وتدريب عملي
GitHubrootdirective-sec/cve-2026-33017-lab

CVE-2026-33017-Lab

مختبر قابل لإعادة الإنتاج لـ CVE-2026-33017، وهو ثغرة تنفيذ تعليمات برمجية عن بُعد غير مصادق عليها في Langflow. يتضمن خدمة ضعيفة معزولة عبر Docker وPoC بأقل ضرر يوضح تنفيذ التعليمات البرمجية عبر نقطة نهاية البناء العامة.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-33017 — مختبر تنفيذ الأوامر عن بُعد غير المصادق عليه في Langflow

الملخص التنفيذي

CVE-2026-33017 هي ثغرة تنفيذ أوامر عن بُعد (RCE) غير مصادق عليها في Langflow حيث تقبل نقطة نهاية بناء عامة بيانات تدفق يتحكم بها المهاجم، مما يسمح بتنفيذ كود مكوّن مخصص على الخادم.

في هذا المختبر، يكون تدفق التحقق كما يلي:

  1. الحصول على رمز وصول من خلال تدفق تسجيل الدخول التلقائي
  2. إنشاء تدفق جديد من نوع PUBLIC
  3. إرسال كود مكوّن يتحكم به المهاجم إلى نقطة نهاية البناء العامة
  4. استلام job_id
  5. الاستعلام عن النتيجة من خلال واجهة برمجة تطبيقات أحداث البناء
  6. قراءة كائن الإثبات مباشرة من مخرجات المكوّن

يتم استرجاع الإثبات مباشرة من خلال آلية أحداث واجهة برمجة تطبيقات Langflow، مما يجعل النتيجة قابلة للملاحظة من خلال واجهة النظام نفسها.


نطاق هذا المستودع

تعرض هذه الوثيقة مختبرًا للثغرة فقط.

حاليًا، يحتوي docker compose على خدمة واحدة فقط: vuln، لأن هذا المشروع يتبع نهج ويتجنب البيئات المصححة التي لا تستند إلى قطعة أثرية رسمية مصححة.

القطع الأثرية الحقيقية فقط

السلوك المُتحقق منه في هذا المختبر

تم التحقق من السلوك التالي في هذا المختبر:

  • تعمل نسخة Langflow الثغرة عند http://localhost:7861
  • تُرجع نقطة نهاية الإصدار 1.8.1
  • يمكن إنشاء تدفق عام
  • يُرجع build_public_tmp قيمة job_id
  • يمكن لإثبات المفهوم مواصلة الاستعلام عن الأحداث
  • يتم إرجاع كائن الإثبات من خلال واجهة برمجة التطبيقات
  • يتم تنفيذ الكود الذي يتحكم به المهاجم داخل بيئة تشغيل Langflow

مثال على كائن الإثبات:

root@kitploit:~
{
  "canary": "lf33017-c14fc1c9",
  "id_output": "uid=1000(user) gid=0(root) groups=0(root)",
  "whoami": "user",
  "hostname": "155aa3fd5e2a",
  "cwd": "/app",
  "python_version": "3.12.12"
}

الأدلة الرئيسية هي:

  • id_output
  • whoami
  • hostname
  • cwd
  • python_version

تُظهر المعلومات أعلاه أن الكود الذي يتحكم به المهاجم تم تنفيذه فعليًا على جانب الخادم.


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

root@kitploit:~
.
├── docker-compose.yml
├── vuln/
│   └── Dockerfile
├── poc/
│   └── poc.py
├── README.md
└── .gitignore

المتطلبات

  • لينكس أو macOS
  • Docker Desktop أو Docker Engine
  • Docker Compose v2
  • بايثون 3

نظرة عامة على الخدمات

vuln

  • نسخة Langflow الثغرة
  • المنفذ المرتبط: 7861 -> 7860
  • تُستخدم لإعادة إنتاج CVE-2026-33017 على localhost

كيف تعمل الثغرة

توجد هذه الثغرة لأن نقطة نهاية البناء العامة في Langflow تقبل تعريفات التدفق المقدمة من المستخدم، على الرغم من أن نقطة النهاية مصممة بالفعل للتدفقات العامة. عندما يرسل المهاجم تعريف عقدة يحتوي على كود مكوّن مخصص، يمرر النظام هذا الكود إلى مسار بناء التدفق، مما يؤدي في النهاية إلى تنفيذ الكود على الخادم.

يستخدم إثبات المفهوم في هذا المشروع مكوّنًا مخصصًا يُرجع كائن إثبات في مخرجاته لإثبات أن الكود الذي يتحكم به المهاجم يتم تنفيذه فعليًا.


تصميم إثبات المفهوم

تم تصميم إثبات المفهوم في هذا المشروع ليكون الأقل ضررًا ويركز على إثبات قابل للملاحظة بوضوح من خلال واجهة برمجة التطبيقات. سير العمل الخاص به كما يلي:

  1. انتظار جاهزية Langflow
  2. استدعاء نقطة نهاية تسجيل الدخول التلقائي للحصول على رمز
  3. إنشاء تدفق من نوع PUBLIC
  4. إرسال كود مكوّن مخصص إلى نقطة نهاية البناء العامة
  5. استلام job_id
  6. الاستعلام عن واجهة برمجة تطبيقات أحداث البناء
  7. تحليل كائن الإثبات من حمولة الحدث

لا يغطي إثبات المفهوم هذا:

  • فتح قشرة (shell)
  • إجراء اتصال عكسي
  • إنشاء استمرارية (persistence)
  • استخراج الأسرار
  • استخدام قشرة ويب

تشغيل المختبر

1) تشغيل الخدمة الثغرة

root@kitploit:~
docker compose up -d --build

2) التحقق من نقطة نهاية الإصدار

root@kitploit:~
curl -i http://localhost:7861/api/v1/version

3) تشغيل إثبات المفهوم

root@kitploit:~
python3 poc/poc.py --base-url http://localhost:7861 --artifact-dir ./artifacts/vuln

المخرجات المتوقعة

عند نجاح إثبات المفهوم، ستبدو المخرجات كما يلي:

root@kitploit:~
[+] http://localhost:7861 ready (version=1.8.1)

=== TARGET: vuln ===
Base URL : http://localhost:7861
Version  : 1.8.1
Flow ID  : <uuid>
HTTP     : 200
Job ID   : <uuid>
Canary   : lf33017-xxxxxxxx
Events   : artifacts/vuln/events-<job_id>.ndjson
Polls    : 2

[+] Proof observed through the Langflow API events endpoint:
{
  "canary": "lf33017-xxxxxxxx",
  "id_output": "uid=1000(user) gid=0(root) groups=0(root)",
  "whoami": "user",
  "hostname": "<container-hostname>",
  "cwd": "/app",
  "python_version": "3.12.x"
}

[+] Vulnerable behavior observed

يخزن الملف artifacts/vuln/events-<job_id>.ndjson بيانات الأحداث الخام لأغراض تصحيح أخطاء إضافية.


ما يثبته إثبات المفهوم الحالي

يثبت إثبات المفهوم هذا أن:

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

لا يُقصد من إثبات المفهوم هذا إظهار الاستمرارية أو استغلال ما بعد الاختراق المتقدم، ويُبقي التأثير عند الحد الأدنى اللازم للتحقق من الثغرة.


التأثير

بناءً على هذا المختبر، فإن التأثير المُثبت هو:

  • يمكن لمهاجم غير مصادق عليه تنفيذ كود بايثون على خادم Langflow
  • يمكن للمهاجم الوصول إلى سياق تشغيل العملية
  • يمكن للمهاجم تنفيذ أوامر نظام لمرة واحدة
  • يمكن للمهاجم الوصول إلى دليل العمل وبيانات التشغيل الوصفية

لماذا لا توجد خدمة مصححة

لا يتضمن هذا المستودع خدمة مصححة عن قصد.

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

لهذا السبب، يتجنب هذا المستودع عمدًا:

  • بناء صورة محلية لمحاكاة إصدار مصحح،
  • تعديل مصدر الصورة لتقليد سلوك التصحيح، أو
  • إضافة نصوص مساعدة من شأنها خلق مظهر مقارنة ثغرة-مقابل-تصحيح دون قطعة أثرية مصححة أصلية من المصدر.

هذا يُبقي المختبر محدود النطاق وصادقًا تقنيًا. بدلاً من تقديم إعداد جانبي مصطنع، يركز المستودع على ثلاثة أشياء:

  • سلوك ثغرة قابل لإعادة الإنتاج،
  • إثبات مفهوم شفاف، و
  • توثيق يظل متوافقًا مع القطع الأثرية الحقيقية من المصدر.

عمليًا، يجعل هذا المستودع مناسبًا بشكل أفضل لـ:

  • إعادة إنتاج الثغرة،
  • التحليل الفني ودعم كتابة التقارير، و
  • الاستخدام في المحفظة المهنية حيث تكون قابلية إعادة الإنتاج والمصداقية أكثر أهمية من بيئة مصححة اصطناعية.

التنظيف

root@kitploit:~
docker compose down -v

ملاحظات السلامة

تم تصميم هذا المختبر للاختبار على localhost فقط.

متطلبات الاستخدام:

  • استخدمه فقط في بيئتك الخاصة
  • لا تعدّل إثبات المفهوم إلى قشرة ويب أو آلية استمرارية
  • لا تُدرج رموزًا حقيقية أو أسرارًا حقيقية في المستودع
  • إذا تمت إضافة جانب مصحح في المستقبل، يجب أن يستخدم قطعة أثرية رسمية مصححة فقط
تنزيل الأداة