
إثبات مفهوم لثغرة XSS مخزّنة في قسم الملاحظات في OpenKM، يوضح تجاوزاً لقواعد التعقيم عبر javascript:، مع تقييم CVSS 3.1 وإرشادات المعالجة.
XSS مخزّن في الملاحظات
تم اكتشاف ثغرة XSS مخزّنة في قسم الملاحظات بالتطبيق أثناء اختبار الاختراق لعميل كان يستخدم OpenKM. بشكل أساسي، عند تخزين الملاحظات، كان يُسمح بطريقة ما بإدخال HTML عادي وكان يُعرض كما هو. وكما تعلم، كانت وسوم
ومع ذلك، وجدنا أن استخدام "javascript:" داخل وسم <a> تجاوز قاعدة التنقية/الاستبدال.
لإعادة إنتاج المشكلة، يمكنك إرسال الحمولة التالية في قسم الملاحظات.
<a href='javascript:alert(1)'>Click here for more info</a>
لتفعيل الحمولة، يجب خداع المستخدم للنقر عليها.
من حيث الأثر: يمكن لمستخدم بمستوى صلاحيات منخفض إرسال حمولات جافاسكريبت خبيثة لتسجيل ضغطات المفاتيح، أو إعادة توجيه المستخدمين إلى مواقع ويب خبيثة، أو إرسال بيانات في سياق الضحية، ويتم تفعيل ذلك عند نقر الضحية على الرابط.
المناطق المتأثرة في التطبيق: جميع أقسام الملاحظات.
الإصدارات المتأثرة: OpenKM Community Edition 6.3.11
CVSS 3.1: CVSS:3.0/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N (Medium 5.4)
التوصية: تحسين التنقية، ربما عن طريق استبدال الكلمة الأساسية 'javascript' بالكامل. أو فقط أضِف قاعدة إضافية لاستبدال 'javascript:'
المراجع: الإصلاح: https://github.com/openkm/document-management-system/pull/336 CVE: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-40317 NIST: https://nvd.nist.gov/vuln/detail/CVE-2022-40317