
CraftCMS به ثغرة تنفيذ تعليمات برمجية عن بُعد (RCE) عبر الشروط العلائقية في لوحة التحكم
CVE-2026-31857 هو ثغرة تنفيذ تعليمات برمجية عن بُعد في قواعد الشروط العلائقية في Craft CMS. تقوم الدالة BaseElementSelectConditionRule::getElementIds() بعرض مدخلات يتحكم بها المستخدم كقالب Twig غير معزول. يمكن لمستخدم مُصادَق عليه في لوحة التحكم إرسال شرط مُصمَّم عبر نقطة نهاية لإدراج العناصر وتنفيذ أوامر على الخادم. لا يُشترط امتلاك صلاحيات المسؤول.
الإصدارات المتأثرة هي Craft CMS 4.0.0-beta.1 حتى 4.17.3 و5.0.0-RC1 حتى 5.9.8. يستخدم هذا الإثبات شكل طلب فهرس العناصر في Craft 5.
يُشترط توفر Python 3 مع المكتبة القياسية فقط. قدّم عنوان URL الأساسي واسم مستخدم لوحة التحكم؛ وسيطالبك البرنامج النصي بكلمة المرور:
python3 poc.py https://craft.example editor
أدخل الأوامر عند cmd>، أو أدخل exit للخروج. يبقى دليل العمل الحالي محفوظًا بين الأوامر. لتشغيل أمر طويل الأمد، أنهِه بـ &؛ حيث يُفصل إدخاله وإخراجه عن طلب HTTP ويُهمل إخراجه. يقتصر إخراج الأمر المُعاد عبر ترويسة الاستجابة على آخر 1200 بايت.