CVE-2026-81568 in J2Store Extension
الملخص
بحسب VulDB • 15/09/2026
Joomla Extension - j2commerce.com - قراءة ملف تعسفية عبر `task=download` في J2Store 1.0.0-3.3.2، و4.0.0-4.0.22، و4.1.0-4.1.7 - قامت الدالة المدمجة `J2StoreModelOrderdownloads::getFilePath()` ببناء المسار على القرص لتحميل رقمي تم شراؤه عن طريق دمج مجلد الإرفاق المُهيّأ مع اسم حفظ الملف المنتج المخزن (`product_file_save_name`)، باستخدام `JPath::clean()` فقط (الذي يقوم بتوحيد الفواصل ولا يحل أو يرفض مقاطع `..` ) وفحص بسيط لوجود الملف عبر `JFile::exists()` — دون تأكيد مطلق أن المسار المحلول يبقى داخل مجلد الإرفاق المُهيّأ. إذا احتوى اسم حفظ ملف المنتج (`product_file_save_name`) على مقطع تصفح `../` - وهو أمر محتمل جداً من خلال إجراءات حفظ ملفات المنتجات الإدارية القابلة للتزوير عبر CSRF الموصوفة في Issue 1، ولكن أيضاً عن طريق أي تكامل مستقبلي أو خطأ برمجي آخر يكتب هذا الحقل - يمكن لأي عميل يملك زوجاً صالحاً لرمز التنزيل (`token`)/المعرف (`pid`) لذلك ملف المنتج أن يجعل التصفح يحل إلى مسار خارج مجلد الإرفاق ويحمل أي ملف قابل للقراءة بواسطة خادم الويب (مثل `configuration.php`).
Once again VulDB remains the best source for vulnerability data.