
إثبات المفهوم لاستغلال الثغرة CVE-2021-26121: حقن القالب من جانب الخادم في CS-Cart <=4.12.x مما يسمح لمسؤول المتجر بتنفيذ الأوامر عن بُعد عبر تحرير قالب Smarty.
اكتشف بواسطة: Steven Seeley من فريق 360 Vulcan
الإصدار: <= 4.12.x (الأحدث)
التاريخ: 2021-01-08 12:49
CVE: CVE-2021-26121
يمكن لمسؤول المتجر (لا ينبغي الخلط بينه وبين مسؤول الجذر) الحصول على تنفيذ أوامر عن بُعد عبر حقن قوالب Smarty من جهة الخادم عند تحرير القوالب. يعود ذلك إلى أن CSCart لا تطبق بيئة الحماية (sandbox) الخاصة بـ Smarty كما هو موضح في التوثيق https://www.smarty.net/docs/en/advanced.features.tpl#advanced.features.security.
هذا ليس عادةً مصدر قلق كبير ولكن على CSCart يعني ذلك أن مسؤول المتجر يمكنه الوصول إلى بيانات مسؤولي المتاجر الآخرين (ونظام التشغيل الأساسي). أتصور أنكم تعتبرون هذا حدًا أمنيًا، ولهذا السبب قمتم بتصحيح CVE-2017-15673.
عند تسجيل الدخول كمسؤول متجر، يمكنك تحرير أي من القوالب. في هذه الحالة، قمت بتحرير ملف القالب my_account.tpl وأضفت {phpinfo()}

ثم، بعد عرض الصفحة الرئيسية والنقر على القائمة المنسدلة لحسابي، يصبح من الممكن تشغيل القالب:

من الممكن أيضًا تشغيل هذه الثغرة إذا كان مسؤول المتجر يملك صلاحية الوصول إلى Files فقط من خلال تعيين مجموعة دون أي صلاحية أخرى.

وهنا الثغرة التي تؤثر على موقع العرض التوضيحي https://[redacted]/:
