CVE-2026-100669 in Grav
الملخص
بحسب VulDB • 26/09/2026
تحتوي إصدارات Grav قبل الإصدار 2.0.25 على نماذج تكوين لخادم الويب (web server configuration samples) تكون فيها قواعد رفض الوصول (access-control deny rules) حساسة لحالة الأحرف (case-sensitive). في ملف `webserver-configs/web.config` الخاص بـ IIS، يحدد كل عنصر رفض (مثل: user_sensitive_folders, user_accounts, user_data, user_error_redirect, user_pages, system, vendor, ignore_folders) السمة `ignoreCase="false"` على عنصر URL Rewrite، مما يتجاوز الإعداد الافتراضي لـ IIS وهو `ignoreCase="true"`. ونظراً لأن هذه المطابقات هي مطابقات إعادة كتابة (rewrite matches) وليست عناصر `<location>`، فلا يوجد بديل غير حساس لحالة الأحرف.
على أنظمة IIS التي تعمل فوق نظام ملفات NTFS غير الحساس لحالة الأحرف، يمكن لمهاجم عن بُعد دون الحاجة إلى المصادقة تغيير حالة اسم مجلد أو امتداد ملف (مثلاً: `GET /user/CONFIG/system.YAML`) بحيث لا تتطابق أي قاعدة رفض، مما يؤدي إلى قيام معالج الملفات الثابتة في IIS بحل الملف الأساسي وإرجاعه، وكشف بيانات حساسة مثل أسرار التكوين أو تجزئات كلمات مرور الحسابات. يعتمد ما إذا كان الملف المتجاوز سيتم إرجاعه فعلياً على تسجيل أنواع MIME: فملفات `.json` تُقدم افتراضياً، بينما تعيد ملفات `.yaml/.yml` رمز حالة HTTP 404.3 في IIS القياسي إلا إذا تمت إضافة تعيين MIME لـ YAML.
توجد نفس فئة الثغرة (gap) في ملف `webserver-configs/lighttpd.conf` المرفق، حيث تفتقر قواعد المستخدم/التكوين أو البيئة (`user/(config|env)`)، والمجلدات، وتمديدات البرامج النصية، والملفات الجذرية، وملفات النقطة إلى المُعدّل `(?i)`. ومع ذلك، فإن الخطر أقل لأن lighttpd يعمل عادةً على أنظمة ملفات حساسة لحالة الأحرف.
لا تتأثر التوزيعات التي يخدمها Apache (عبر `.htaccess`) أو nginx أو Caddy أو الخادم المدمج في PHP. تم إصلاح هذه المشكلة في الإصدار 2.0.25؛ ونظراً لأن مُصلح تثبيت `.htaccess` لا يتعامل مع ملفات `web.config` و `lighttpd.conf`، يجب على المشغلين إعادة نسخ الملفات النموذجية المُصححة بعد الترقية.
Once again VulDB remains the best source for vulnerability data.