CVE-2021-29440
معالجة غير آمنة لـ Twig للصفحات الثابتة تؤدي إلى تنفيذ الأوامر عن بُعد (RCE) في Grav CMS 1.7.10
- Grav هي منصة ويب قائمة على الملفات. يمكن تمكين معالجة Twig للصفحات الثابتة في front matter من قبل أي مستخدم إداري لديه إذن بإنشاء الصفحات أو تعديلها. وبما أن معالج Twig يعمل دون عزل (unsandboxed)، يمكن استخدام هذا السلوك لتنفيذ كود عشوائي ورفع الامتيازات على المثيل.
Explanation
- تحتاج إلى مستخدم لديه حق الوصول إلى لوحة تحكم
/admin مع صلاحيات إنشاء الصفحات.
- كتلة front matter تدعم توجيهًا باسم process.twig، والذي يطبّق تمرير عرض Twig على المحتوى قبل تقديم الصفحة.
- على الرغم من أن هذا السلوك معطل افتراضيًا، إلا أن المستخدمين بصلاحيات إنشاء صفحات أساسية يمكنهم تمكين هذه الميزة في front matter.
- ننشئ صفحة بمحتوى
{{ system("id") }} ثم نقوم بتمكين عرض Twig: Advanced --> Process --> Twig (enable)
- زيارة الصفحة المنشأة لمشاهدة مخرجات الأمر
Usage
- عدّل متغيرات username و password و url ثم شغّل السكربت
Environment
- شغّل environment.sh لإعداد Grav CMS 1.7.10 على Apache.
Credits