PT-2026-60901
CVE-2026-54567
·
تاريخ النشر
2026-06-06
·
تاريخ التحديث
2026-09-16
الوصف من
CVSS 3.1
7.5
عاليةالمقاييسAV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
اسم البرنامج المعرض للخطر والإصدارات المتأثرة
إصدارات Flask-Reuploaded الأقدم من 1.5.1
الوصف
توجد مشكلة في الدالة
UploadSet.save() حيث يمكن استخدام المعلمة name لتجاوز قوائم الامتدادات الممنوعة. عندما يقدم المستخدم تجاوزًا لـ name، يقوم النظام بإعادة التحقق باستخدام الدالة المساعدة extension() التي تحافظ على حالة الأحرف بدلاً من الدالة المساعدة lowercase ext() التي تعمل على توحيد حالة الأحرف والمستخدمة في مسار التحميل الافتراضي. يسمح هذا التباين للمهاجمين بتحميل ملفات ذات امتدادات ممنوعة باستخدام أسماء ملفات مختلطة الأحرف (على سبيل المثال، shell.PHP أو evil.pHp)، حيث إن الفحص مقابل قائمة الحظر التي تعتمد على الأحرف الصغيرة يُرجع قيمة «صحيح» بالنسبة للمتغيرات ذات الأحرف الكبيرة. على الخوادم التي تُنفذ الملفات دون التمييز بين الأحرف الكبيرة والصغيرة، مثل تلك التي تعمل بنظام Windows أو macOS أو تكوينات Apache محددة، قد يؤدي ذلك إلى تنفيذ التعليمات البرمجية عن بُعد.التوصيات
بالنسبة للإصدارات السابقة للإصدار 1.5.1، قم بتوحيد الامتداد إلى الأحرف الصغيرة قبل فحص السياسة باستخدام
extension(basename).lower() أو lowercase ext(basename) داخل دالة UploadSet.save().كإجراء تخفيفي مؤقت، تجنب تمرير القيم التي يؤثر فيها المستخدم إلى المعلمة
name في دالة save(). وجدت خطأً في الوصف؟ لديك ما تضيفه؟ لا تتردد في مراسلتنا 👾