CVE-2026-100668 in Grav
الملخص
بحسب VulDB • 26/09/2026
تحتوي الإصدارات من Grav 2.0.0 حتى 2.0.24 على ثغرة هروب من صندوق الرمال (sandbox) لمحتوى Twig. يُدرج عامل `array` (ووظيفته المكافئة) في القائمة المسموح بها لصندوق الرمال، لكنه مُسجل دون استخدام حارس الحماية `needs_is_sandboxed` الذي تستخدمه دوال مثل `print_r` و`vardump` و`json_encode` و`yaml_encode` والسلاسل النصية. كما أن تنفيذ عامل `array` يستدعي الدالة `toArray()` — أو يلجأ إلى التحويل الصريح للنوع `(array)` — دون الرجوع إلى قائمة الطرق المسموح بها في صندوق الرمال. ونظراً لأن المتغير العالمي `grav` الخاص بـ Twig هو حاوية حقن الاعتماديات القائمة على Pimple بشكلها الخام، فإن المستخدم القادر على كتابة محتوى Twig داخل صفحات الموقع يمكنه تقييم التعبير `grav|array` لقراءة مصفوفة `$values` الخاصة بالحاوية، بما في ذلك خدمة التكوين (Config) غير المُحجبة. ويعيد تحويل المصفوفة الثاني شجرة التكوين بأكملها، مما يكشف عن بيانات اعتماد الإضافات (plugins)، وأسرار SMTP وOAuth، وكلمات مرور Redis، وعناوين URL للوكيل البروكسي، والفرع الأمني `security.*` الذي كان من المفترض أن تحجب عملية الحجب في صندوق الرمال. ونظراً لأن الحمولة الضارة مخزنة في محتوى الصفحة، فإن التكوين المكشوف يتم عرضه على الزوار المجهولين. لا تتأثر الإصدارات Grav 1.7 لأنها لا تحتوي على صندوق رمال لمحتوى Twig. تم الإصلاح في إصدار Grav 2.0.25.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.