Skip to content
KitploitKITPLOIT
أدواتالمدونة
Log in
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/toanln-cov/cve-2026-66492
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبأمن الويباختبار الاختراق
GitHubtoanln-cov/cve-2026-66492

CVE-2026-66492

امتداد Joomla PhocaCommander معرّض لثغرة اجتياز المسار في إجراء رفع الملفات - CVSS 6.1

عرض المستودع
18منذ شهر واحدلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

اجتياز المسار في وجهة رفع الملفات

PhocaCommander ≤ 6.1.3 — إمكانية قيام مدير مُصادَق بكتابة ملفات خارج المجلد الجذر للويب

CVE CVSS CWE-22 Affected Researcher


ملخص

يقوم معالج رفع الملفات في PhocaCommander ببناء مسار الوجهة من معامل folder مُرمَّز بـ base64 يتحكم فيه المهاجم دون أي تحقق من احتواء المسار. يمكن للمدير المُصادَق رفع ملفات إلى مواقع عشوائية خارج المجلد الجذر للويب، شريطة أن تكون تلك المواقع قابلة للكتابة من قِبل عملية خادم الويب.

تأكَّد ذلك في المختبر: رفع ملف باستخدام folder=Li4vLi4vLi4vdG1w (أي ../../../tmp) يضع الملف المرفوع في /tmp/ — خارج /var/www/html/ — ويكون الملف مملوكًا للمستخدم www-data. في بيئات PHP-FPM الإنتاجية، يمكن استغلال ذلك بالتسلسل لتحقيق تنفيذ برمجي عن بُعد (RCE).


الإصدارات المتأثرة

المكوّنالإصدارات المعرّضةاختُبر علىالإصدار المُصحَّح
PhocaCommander1.0.0 – 6.1.3Joomla 5.4.7 + PhocaCommander 6.1.3 (PHP 8.2 / Apache)6.1.4

تفاصيل الثغرة

المصادقة المطلوبة: مدير (جلسة + رمز CSRF)

الملف: administrator/components/com_phocacommander/helpers/fileupload.php — realMultipleUpload()

السبب الجذري

يقوم realMultipleUpload() بفك ترميز معامل folder المرسل عبر POST من base64 ويمرّره مباشرة إلى دمج في Path::clean()، والذي يُستخدم بعد ذلك كوجهة للرفع دون أي فحص احتواء.

FILEUPLOAD.PHP — الكود المعرّض للثغرة

$folder = $app->getInput()->get('folder', '', '', 'string');
$folder = base64_decode($folder);         // ← attacker-controlled

$path = JPATH_ROOT;                       // = /var/www/html

if (isset($folder) && $folder != '') {
    $pathFolder = Path::clean($path . '/' . $folder . '/');
    // e.g. Path::clean('/var/www/html/../../../tmp/')
    // = '/tmp/' — outside the webroot, no error thrown
}

// ...
File::upload($file['tmp_name'], $pathFolder . strtolower($file['name']));

يعمل Path::clean() على توحيد فواصل الدلائل ولكنه لا يحلّ أو يزيل تسلسلات ../. يُمرَّر المسار المُستنتَج مباشرة إلى File::upload() دون أي فحص حدود لاحق.

القائمة البيضاء لامتدادات الرفع

يفرض المعالج قائمة بيضاء للامتدادات (صور، مستندات، ملفات مضغوطة، ملفات نصية) ويمنع الأنواع القابلة للتنفيذ على الخادم مثل .php و.htaccess. ومع ذلك، فإن العديد من أنواع الملفات المسموح بها في القائمة البيضاء — بما في ذلك سكربتات الصدفة وتعريفات مهام cron وأجزاء ملفات الإعداد — يمكن أن تسبب ضررًا كبيرًا عند كتابتها في مسارات حساسة في نظام التشغيل.


إثبات المفهوم

السيناريو 1 — كتابة ملف عشوائي إلى /tmp عبر اجتياز المسار في معامل folder

1. تسجيل الدخول إلى لوحة إدارة Joomla والحصول على رمز CSRF

سجّل الدخول عبر صفحة دخول المدير. احصل على رمز CSRF الخاص بـ Joomla من أي صفحة إدارة — يظهر كحقل مخفي في النموذج أو يمكن استخراجه من مصدر الصفحة.

طلب GET لاستخراج رمز CSRF من لوحة الإدارة

2. رفع ملف مع اجتياز المسار في معامل folder

أرسل طلب POST متعدد الأجزاء إلى POST /administrator/index.php?option=com_phocacommander&task=phocacommanderupload.multipleupload مع محتوى الملف في الحقل file ومسار الاجتياز المُرمَّز بـ base64 Li4vLi4vLi4vdG1w (أي ../../../tmp) في الحقل folder. يستجيب الخادم بـ HTTP 200 و{"jsonrpc":"2.0","result":"OK","code":200,"message":"Success: ","details":"Files uploaded"}.

الطلب / الاستجابة

طلب رفع POST مع معامل folder بمسار اجتياز واستجابة 200 OK

3. تأكيد كتابة الملف في /tmp — خارج المجلد الجذر للويب

تأكَّد وجود الملف في /tmp/upload_test.txt، مملوكًا للمستخدم www-data، خارج /var/www/html/.

محطة طرفية تعرض ls -la /tmp مع upload_test.txt المملوك لـ www-data


التأثير

  1. كتابة ملف عشوائي خارج المجلد الجذر للويب — يمكن لأي مسار قابل للكتابة من قِبل www-data أن يستقبل محتوى يختاره المهاجم، بما في ذلك المسارات التي يستخدمها مُجدوِل نظام التشغيل وخفيض SSH والخدمات الأخرى.
  2. احتمال تنفيذ برمجي عن بُعد (RCE) في بيئات PHP-FPM — رفع ملف .txt يحتوي كود PHP مقترنًا بملف .user.ini (auto_prepend_file) إلى دليل يمكن الوصول إليه عبر الويب يؤدي إلى تنفيذ PHP عند الطلب التالي لذلك الدليل.

المراجع

  • CVE: https://www.cve.org/CVERecord?id=CVE-2026-66492
  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-66492
  • مستودع المورّد: https://github.com/PhocaDesign/PhocaCommander
تنزيل الأداة