
يحتوي هذا المستودع على تصحيحات أمنية محتملة للثغرة الأمنية Magento APSB22-48 و CVE-2022-35698.
تم إصدار تصحيحات Magento الرسمية: وثائق Magento تتعامل هذه التصحيحات مع نفس المشكلات الأمنية التي يعالجها هذا المستودع، باستثناء أننا أضفنا بعض الإصلاحات لإصدارات Magento الأقدم.
يحتوي هذا المستودع على ملفات تصحيح Magento 2 للمشكلات الأمنية التي تم اكتشافها مؤخرًا في 12-10-2022. تهدف ملفات التصحيح إلى إصلاح الثغرات الأمنية CVE-2022-35698 وCVE-2022-35689.
لا تتوفر معلومات كثيرة عن الإصلاح الدقيق الذي تم إصداره في إصدارات التصحيح الجديدة من Magento. لإنشاء ملفات التصحيح هذه، بذلنا قصارى جهدنا لفحص الفرق 2.4.4-p1...2.4.4-p2 واستخراج الإصلاحات الأمنية المحتملة التي يبدو أنها موجودة في توجيهات قوالب Magento.
حاليًا، يطبّق التصحيح بعض الإصلاحات في مساحة الاسم Magento/Framework/Filter والتي تم استخراجها من الالتزام التالي: الالتزام بالتصحيح
وفقًا لتصحيحات Magento الصادرة حديثًا، فهذا يغطي الثغرة الأمنية الحالية.
يطبّق تصحيح magento/module-customer إصلاحًا على كل من Webapi الخاصة بإنشاء العملاء ووحدة تحكم تأكيد العملاء (Customer Confirmation Controller).
id المرسل عبر POST إلى عدد صحيح.يطبّق تصحيح magento/framework إصلاحًا على تحليل توجيهات قوالب CMS، حيث تمت إضافة توقيع (signature) وفحص للعمق.
نعتقد أن السبب قد يكون مشكلات تتعلق بتوجيهات CMS المتداخلة في Magento 2 وتعرض بعض بيانات العملاء لهجوم XSS.
استخدم حزمة مثل cweagans/composer-patches أو vaimo/composer-patches لتطبيق ملف التصحيح المناسب على متجر Magento الخاص بك.
يجب تطبيق التصحيحات على حزمتي magento/framework وmagento/module-customer.
يمكن العثور على ملف التصحيح الصحيح داخل المجلد المقابل لإصدار Magento 2 لديك.
تأكد من تضمين تصحيح البريد الإلكتروني وتصحيح العملاء وتصحيح الإطار (framework). يصلح تصحيح البريد الإلكتروني تغييرًا أدخله التصحيح الأمني قد يؤدي إلى كسر موضوعات قوالب البريد الإلكتروني.
يغيّر التصحيح طريقة تحليل توجيهات القوالب، وقد يؤدي ذلك إلى كسر بعض صفحات CMS حيث يكون المحتوى متداخلًا داخل دالة ترجمة __() الخاصة بـ Magento 2.
عند حدوث أحد أخطاء إنشاء المحتوى هذه، تأكد من إزالة استدعاء __() الزائد في الكود الخاص بك.
لا تتردد في إنشاء ملفات التصحيح المفقودة لإصدار Magento 2 لديك وإنشاء طلب سحب (Pull Request)!