
استغلال لإثبات المفهوم لـ CVE-2022-24086 و CVE-2022-24087، يوضح تنفيذ الأوامر عن بُعد قبل المصادقة في Magento/Adobe Commerce عبر حمولات معدّة خصيصًا تتجاوز التحقق من المدخلات.
CVE-2022-24086 و CVE-2022-24087 - ثغرة في التحقق من صحة الإدخال في نموذج الاتصال لمتجر Magento مفتوح المصدر و Adobe Commerce - حصلت على درجة CVSS تبلغ 9.8 من 10، وهي مصنفة كمشكلة قبل المصادقة مما يعني أنه يمكن استغلالها دون بيانات اعتماد.
Magento Open Source / Adobe Commerce - 2.3.3-p1 - 2.3.4
Magento Open Source / Adobe Commerce - 2.3.4-p2 - 2.4.2-p2
Magento Open Source / Adobe Commerce - 2.4.3 - 2.4.3-p1
كانت CVE-2022-24086 ثغرة أمنية حرجة ومستغلة من الصفر أثرت على متاجر Magento. تم الإبلاغ عن الثغرة في هجمات محدودة. ثغرة أخرى، CVE-2022-24087، لها نفس مستوى الخطورة وطريقة هجوم مماثلة.
بعد بعض البحث، لم أجد أي دليل إثبات مفهوم (PoC) مشروع وعملي يوضح خطورة تلك الثغرة من Adobe، وقررت صنع واحد خاص بي. من خلال الهندسة العكسية للتصحيحات الرسمية وغير الرسمية، وجدت أنه في /app/code/Magento/Email/Model/Template/Filter.php لم يتم تنظيف الإدخال بشكل صحيح، وعدم قدرة المنصة على التعرف على مجموعة من أنواع الأحرف أثناء التحقق من صحة النموذج، مما يسمح للتسلسلات الضارة بالتدمير دون عوائق، والسماح بتجاوز طرق التحقق من صحة الإدخال المستخدمة عادةً لتنظيف أنواع الإدخال غير المرغوب فيها. يفتح هذا المجال أمام هجمات حقن SQL و PHP ضمن Magento، والتي يمكن أن تضيف إدخالات غير مرغوب فيها في قاعدة البيانات أو تمكن من تنفيذ تعليمات برمجية عن بعد.
بعض أجزاء الكود المضافة في التصحيحات الرسمية (MDVA-43395) التي تقودنا إلى PoC:
ما نحتاج إلى فعله هو صياغة حمولة متطورة لإرسالها عبر POST: