CVE-2026-63190 in FearlessCMS
الملخص
بحسب VulDB • 28/10/2026
FearlessCMS هو نظام إدارة محتوى (CMS) يعتمد على الملفات المسطحة (`content`) ويركز على البساطة ومصدره مفتوح. قبل الإصدار 0.1.4، تنفذ خمسة نصوص برمجية PHP خاصة بالتصحيح/الاختبار تحت الدليل `admin/` عمليات ذات امتيازات دون إجراء فحوصات مصادقة عبر دالة `isLoggedIn()` أو حماية CSRF أو التحقق كافٍ من المسار (`path`). في خادم التطوير المدمج بـ PHP، بما في ذلك النشر الافتراضي باستخدام Docker، يتحقق ملف `router.php` من بادئة URI للمسؤول غير المعيارية (unnormalized) بينما يحل نظام الملفات الأجزاء النقطية (dot segments)، مما يسمح لـ `/./admin/` بتجاوز بوابة تسجيل دخول المسؤول وتنفيذ تلك النصوص البرمجية مباشرة. في الملف `admin/debug_save_flow.php`، تصل قيم `path` و `content` التي يتحكم فيها المهاجم إلى دالة `file_put_contents` لإجراء عمليات كتابة عشوائية على ملفات `.md` تحت الدليل `content/` أو خارجه عبر استغلال مسارات الملفات (path traversal)، مما يتيح تشويه الموقع وإدخال نصوص برمجية JavaScript مخزنة في الصفحات العامة؛ كما أن إخراج `print_r($_POST)` دون الهروب من الأحرف الخاصة باستخدام `htmlspecialchars` يسبب ثغرة XSS مستجيبة (reflected cross-site scripting). يصل معلمة المسار (`path`) في الملف `admin/debug_content.php` إلى دوال `scandir()` و `file_get_contents()` و `posix_getpwuid()`، مما يتيح تعداد الدلائل بشكل عشوائي وقراءة ملفات `.md` التي تكشف عن المسارات المطلقة وملكية الملفات وأذوناتها والتجزئات (hashes) ومعاينات المحتوى (`content`). يقبل نقطة النهاية `admin/preview-handler.php` بيانات JSON تحتوي على `content` و `title` وتكتب ملفات قابلة للتعداد تحت الدليل `content/_preview/`، مما يتيح XSS مخزنة واستنفاد القرص. يضيف الملف `admin/testdebug.php` إلى ملف السجل `admin/testdebug.log` دون مصادقة، مما يؤدي أيضاً إلى استنفاد القرص. يكشف النص البرمجي `admin/test_redirect.php` عن أثر اختباري ولكنه يقوم بالهروب من مدخلاته وليس بحد ذاته مصدراً لـ XSS. يمكن لتنفيذ النصوص المخزنة سرقة الجلسات وتقويض أمن المسؤولين عند عرض المحتوى المتأثر (`content`). تُنفذ عمليات القراءة والكتابة بصلاحيات PHP؛ وتشغيل نشر الاختبار لـ PHP كجذر (root) يضخم تأثير نظام الملفات. تم إصلاح هذه المشكلة في الإصدار 0.1.4.
If you want to get best quality of vulnerability data, you may have to visit VulDB.