PT-2026-48810
CVE-2026-48062
·
تاريخ النشر
2026-06-11
·
تاريخ التحديث
2026-07-20
الوصف من
CVSS 3.1
9.8
حرجةالمقاييسAV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
اسم البرنامج المعرض للخطر والإصدارات المتأثرة
إصدارات CodeIgniter الأقدم من 4.7.3
الوصف
توجد ثغرة تسمح بتجاوز عملية التحقق من صحة الملفات المُحمَّلة في القاعدة
ext in الموجودة في الملف system/Validation/StrictRules/FileRules.php. تقوم القاعدة بالتحقق بشكل غير صحيح من الامتداد المفترض المستمد من MIME بدلاً من الامتداد الفعلي لاسم الملف المقدم من العميل. وهذا يسمح للمهاجم بتحميل ملف بامتداد قابل للتنفيذ، مثل .php، يحتوي على محتوى يحاكي نوع ملف مسموح به (مثل GIF)، وبالتالي يتجاوز عملية التحقق من الصحة. إذا كان التطبيق يقبل عمليات التحميل التي يتحكم فيها المستخدم، ويعتمد على ext in للتحقق من صحة الامتداد، ويحفظ الملفات باستخدام اسم الملف الأصلي المقدم من العميل عبر $file->move($path)، ويخزنها في دليل يمكن الوصول إليه عبر الويب حيث يتم تمكين تنفيذ البرامج النصية، فقد يؤدي ذلك إلى تنفيذ تعليمات برمجية عشوائية. تم تحديد أكثر من 14,800 حالة قد تكون متأثرة عبر FOFA خلال العام الماضي.التوصيات
قم بالترقية إلى الإصدار 4.7.3 أو أحدث.
احفظ الملفات المُحمَّلة خارج جذر الويب العام، ويفضل أن يكون ذلك ضمن
writable/uploads.استخدم
$file->store() أو $file->move($path, $file->getRandomName()) بدلاً من الاحتفاظ باسم الملف الأصلي.قم بتعطيل تنفيذ البرامج النصية في أي دليل تحميل عام.
تحقق يدويًّا من امتداد اسم الملف الخاص بالعميل قبل نقل الملف.
ارفض الملفات عندما لا يكون
$file->getClientExtension() موجودًا في القائمة المسموح بها أو لا يتطابق مع $file->guessExtension(). وجدت خطأً في الوصف؟ لديك ما تضيفه؟ لا تتردد في مراسلتنا 👾