
اجعلها readme.md للصقها فيه
المؤلف: David PS Abraham
التاريخ: 5 فبراير 2026
الخطورة: حرجة - تنفيذ تعليمات برمجية عن بُعد (CVSS 8.8+)
CWE: 434 (رفع غير مقيد لملف بنوع خطير)
يستخدم مكوّن إدارة الملفات في Monstra CMS الإصدار 3.0.4 (plugins/box/filesmanager/filesmanager.admin.php) تحققًا من امتدادات الملفات قائمًا على القائمة السوداء يخزّن الملفات المرفوعة مباشرةً في دليل /public/files/ المتاح عبر الويب، مما يتيح تنفيذ تعليمات برمجية عن بُعد في إعدادات Apache/PHP القياسية.
الخلل الأساسي (filesmanager.admin.php ~الأسطر 150-220):
// WEAK BLACKLIST VALIDATION
$blacklist = array('.php', '.php3', '.php4', '.php5', '.phtml', '.pl', '.py', '.jsp', '.asp', '.sh', '.cgi');
$bypass = true;
foreach ($blacklist as $bad) {
if (strpos(strtolower($filename), $bad) !== false) {
$bypass = false;
break;
}
}
if ($bypass) {
// DIRECT WEB-ROOT WRITE - No sanitization
$upload_path = BASE_PATH . DS . 'public' . DS . 'files' . DS;
move_uploaded_file($file['tmp_name'], $upload_path . $filename);
// http://target/public/files/shell.PHP executes!
}
| الأثر | الوصف |
|---|---|
| RCE |
Monstra CMS <= 3.0.4
Path: plugins/box/filesmanager/filesmanager.admin.php
Repo: https://github.com/monstra-cms/monstra/tree/dev/plugins/box/filesmanager
2026-02-05: CVE-2025-69906 assigned by MITRE
2026-02-05: Public disclosure
1. Disable Files Manager plugin
2. Whitelist ALLOWED extensions only (image/png, image/jpeg)
3. Rename uploads: uniqid() + .jpg
4. Store outside web root
5. Migrate to maintained CMS
اكتشفها: David PS Abraham (باحث في الأمن السيبراني)
إفصاح مسؤول بعد تعيين CVE. لم يتم إجراء أي استغلال مباشر.
المشروع غير مُدار منذ 2018 وفقًا لإشعار المستودع.
[1]
انسخ هذا المحتوى بالكامل ← الصقه في README.md بمستودعك ← نفّذ Commit و Push ← شاركه على القنوات الاجتماعية.
الاستشهادات: [1] 1000279995.jpg https://ppl-ai-file-upload.s3.amazonaws.com/web/direct-files/attachments/images/62532667/8d8c801d-6e5c-4292-b88f-4530423fb53a/1000279995.jpg
| الخلل | مثال التحايل | النتيجة |
|---|
| حساسية حالة الأحرف | shell.PHP, shell.pHp | ✅ تنفيذ |
| امتداد مزدوج | shell.php.jpg | ✅ تنفيذ |
| بايت فارغ (Null-byte) | shell.php%00.jpg | ✅ تنفيذ |
| PHP غير قياسي | shell.php7, shell.phtml | ✅ تنفيذ |
| تنفيذ PHP تعسفي عبر قشرة ويب مرفوعة |
| تصعيد الامتيازات | من مستخدم إداري مُصادق → اختراق الخادم |
| كشف المعلومات | قراءة الملفات عبر <?php echo file_get_contents('../config.php'); ?> |
| متجه الهجوم | عن بُعد، بمصادقة (واجهة إدارة الملفات) |