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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-58138 — CVE-2026-58138 — Conductor (3.21.21..<3.30.2) ثغرة تنفيذ أكواد عن بُعد (RCE) بدون مصادقة عبر مُقيِّم GraalVM المضمّن (INLINE) (HostAccess.ALL). مختبر + إثبات مفهوم (PoC)، تم التحقق منه من البداية إلى النهاية (e2e) بصلاحيات الجذر (root). | Kitploit
أدوات/GitHubGitHub/ch4120n/cve-2026-58138
تحليل الثغرات الأمنيةتحليل الكودالاستغلالاستغلال تطبيقات الويباختبار الاختراقالتعلم والتعليمتطوير الحمولاتمختبرات وتدريب عملي
GitHubch4120n/cve-2026-58138

CVE-2026-58138

CVE-2026-58138 — Conductor (3.21.21..<3.30.2) ثغرة تنفيذ أكواد عن بُعد (RCE) بدون مصادقة عبر مُقيِّم GraalVM المضمّن (INLINE) (HostAccess.ALL). مختبر + إثبات مفهوم (PoC)، تم التحقق منه من البداية إلى النهاية (e2e) بصلاحيات الجذر (root).

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-58138 — ثغرة RCE غير مصادق عليها في Conductor عبر مُقيِّم GraalVM

CVE CVSS Status Auth

الخلاصة: يقوم Conductor من Orkes/OSS (الإصدارات 3.21.21 إلى < 3.30.2) بتقييم JavaScript المقدم من المستخدم في مهام INLINE باستخدام سياق GraalVM مع وصول كامل للمضيف (HostAccess.ALL). نظرًا لأن واجهة برمجة التطبيقات المجتمعية لا تحتوي على مصادقة افتراضية، يمكن لأي مستخدم غير مصادق إرسال سير عمل ضار، والانتقال من كائن JavaScript المرتبط إلى java.lang.Runtime، وتحقيق تنفيذ أوامر عن بُعد (RCE) غير مصادق عليه كمستخدم عملية Conductor (غالبًا root).


جدول المحتويات

  1. نظرة عامة على الثغرة
  2. السبب الجذري
  3. خطوات الاستغلال
  4. البدء السريع وإعادة الإنتاج
  5. التأثير
  6. الإصلاح
  7. الكشف
  8. الإسناد وإخلاء المسؤولية

نظرة عامة على الثغرة

ملاحظة الإصدار: تستخدم الإصدارات حتى ~3.29.x إعداد allowHostAccess(HostAccess.ALL) العادي، والذي يستغله هذا الإثبات بشكل مباشر. الإصداران 3.30.0 و 3.30.1 أدخلا قائمة حظر جزئية (تمنع بعض التأمل)، لكن الإصلاح الكامل (allowHostClassLoading(false) + تقوية المحرك) تم تطبيقه فقط في 3.30.2. يستهدف هذا الإثبات الإعداد غير المحمي.


السبب الجذري

توجد الثغرة في كيفية تكوين Conductor لسياق GraalVM متعدد اللغات لتقييم النصوص البرمجية.

في core/.../events/ScriptEvaluator.java (≤ 3.29.x)، يُبنى السياق بهذه الطريقة:

root@kitploit:~
return Context.newBuilder("js")
        .allowHostAccess(HostAccess.ALL)   // خطر: وصول كامل للمضيف، بدون حماية
        .build();

لماذا هذه نهاية اللعبة:

  1. HostAccess.ALL يمنح محرك JavaScript صلاحية استدعاء أي أسلوب أو الوصول إلى أي حقل في كائنات Java المضيفة.
  2. تربط مهمة INLINE معاملات الإدخال بالمتغير $ في JavaScript، وهو كائن Java حقيقي.
  3. يمكن للمهاجم ربط تسلسل انعكاس Java بدءًا من $: $.getClass().getClass() ➔ java.lang.Class ➔ Class.forName("java.lang.Runtime") ➔ Runtime.getRuntime().exec("sh -c <command>").
  4. يوجد نفس الخلل في مُقيِّم Python (Context.newBuilder("python").allowAllAccess(true)).

خطوات الاستغلال

يتطلب الهجوم صفر مصادقة ويتبع ثلاث خطوات بسيطة:

  1. التسجيل: أرسل طلب POST إلى /api/metadata/workflow مع تعريف سير عمل ضار. تحتوي مهمة INLINE على حمولة JavaScript الانعكاسية في حقل expression الخاص بها.
  2. التنفيذ: أرسل طلب POST إلى /api/workflow/{workflow_name} لتشغيل سير العمل.
  3. الاستخراج: ينفذ محرك GraalVM الحمولة. يُشغّل Runtime.exec الانعكاسي أمر نظام التشغيل، ويُظهر الإثبات ذكاءً في التقاط stdout وإرجاعه كمخرج result للمهمة، والذي يمكن جلبه لاحقًا عبر واجهة API.

البدء السريع وإعادة الإنتاج

1. تشغيل المختبر الضعيف

قم بتشغيل نسخة محلية من إصدار Conductor الضعيف باستخدام Docker.

root@kitploit:~
# استنساخ المستودع وتشغيل بيئة المختبر
docker compose -f docker/docker-lab.yml up -d

# انتظر حوالي 60 ثانية حتى يتم تحميل الخادم المتكامل بالكامل

2. تنفيذ إثبات المفهوم

قم بتشغيل سكربت الاستغلال بلغة Python المقدم. يعتمد فقط على مكتبة Python القياسية (لا حاجة لتبعيات خارجية).

root@kitploit:~
python3 exploit.py http://127.0.0.1:8080 -c "id; hostname; whoami"

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

root@kitploit:~
[*] Target: http://127.0.0.1:8080
[*] Command: 'id; hostname; whoami'
[*] Registering workflow with a malicious INLINE (javascript) task ... (no auth)
[*] Starting workflow execution ... (no auth)
[*] Started workflow id=pwn_1705432100; reading INLINE task output ...

[+] UNAUTHENTICATED RCE CONFIRMED - command output from the Conductor host:
uid=0(root) gid=0(root) groups=0(root)
vbox
Linux 6.18.12+deb13-amd64

ملاحظة: إخراج uid=0(root) يثبت تنفيذًا حقيقيًا على المضيف، وليس استجابة مُزوّرة.


التأثير

يمنح الاستغلال الناجح المهاجم تنفيذ أوامر نظام تشغيل تعسفي على مضيف منسّق Conductor.

نظرًا لأن Conductor يُنشر غالبًا بصلاحيات مرتفعة لإدارة البنية التحتية، فإن هذا يؤدي عادةً إلى:

  • اختراق كامل لمحرك سير العمل.
  • الوصول إلى طبقات التخزين الأساسية (Redis, PostgreSQL, Elasticsearch).
  • الحركة الجانبية عبر بيانات الاعتماد المخزنة أو الأنظمة النهائية التي تُشغَّلها مهام سير العمل.

الإصلاح

  1. الترقية فورًا: قم بالتحديث إلى Conductor ≥ 3.30.2. في هذا الإصدار، لم يعد مُقيِّمو JS و Python يعملون مع وصول المضيف أو تحميل الصفوف ممكّنًا.
  2. العمق الدفاعي:
    • ضع بوابة مصادقة (مثل OAuth2، مفاتيح API) أمام واجهة Conductor API.
    • شغّل عملية خادم Conductor كمستخدم غير root وبأقل صلاحيات ممكنة.
    • طبّق تجزئة شبكية صارمة لتقييد من يمكنه تسجيل أو تنفيذ مهام سير العمل.

الكشف

راقب بيئتك بحثًا عن المؤشرات التالية للاختراق (IoCs):

  • تعريفات سير العمل: قم بوضع علامة على أي مهام INLINE أو LAMBDA أو DO_WHILE أو SWITCH تحتوي على تعبيرات expression تشير إلى:
    • getClass, forName, Runtime, exec, ProcessBuilder
    • java.lang.reflect أو وصول عام لحزمة java.
  • تنبيهات على مستوى المضيف: راقب عمليات JVM الخاصة بـ Conductor التي تبدأ بشكل غير متوقع مفسّرات شل (sh, bash, ) أو تقوم بإجراء اتصالات شبكة صادرة.

للغوص العميق في سلسلة الانعكاس، وتكوينات المُقيِّم الخاصة بالإصدار، وتحليل التصحيح، راجع ANALYSIS.md.


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

  • صيانة المستودع: Ch4120N
  • تحسين إثبات المفهوم: (Ch4120N/CVE-2026-58138)
  • مرجع النشرة: Orkes Conductor unauth RCE via GraalVM script evaluators

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

تنزيل الأداة
السمةالتفاصيل
معرّف CVECVE-2026-58138
البرنامج المتأثرConductor من الإصدار 3.21.21 حتى 3.30.1
الإصدار المُصحَّح3.30.2 (الالتزامات: 87a7d96، c691e35)
تصنيف الثغرةCWE-94: حقن تعليمات برمجية (تجاوز حماية GraalVM متعددة اللغات)
درجة CVSS v3.19.8 (حرج) AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
المصادقةبدون (واجهة برمجة التطبيقات المجتمعية غير مصادق عليها افتراضيًا)
التحققتم التأكيد كمستخدم root ضد conductoross/conductor:3.22.3
cmd.exe