
Magento 2 पैच CVE-2022-24086, CVE-2022-24087 के लिए। गहन टेम्पलेट वेरिएबल एस्केपिंग करके RCE भेद्यता और संबंधित बगों को ठीक करें। यदि आप Magento को अपग्रेड नहीं कर सकते या आधिकारिक पैच लागू नहीं कर सकते, तो यह आज़माएँ।
Magento 2 के लिए CVE-2022-24086, CVE-2022-24087 पैच। गहन टेम्पलेट चर एस्केपिंग करके RCE भेद्यता और संबंधित बगों को ठीक करता है। यदि आप Magento को अपग्रेड नहीं कर सकते या आधिकारिक पैच लागू नहीं कर सकते, तो इसे आज़माएँ।
CVE-2022-24086(CVE-2022-24087 के साथ) की खोज 2022 की शुरुआत में हुई थी।
प्रभावित स्टोर इस Remote Code Execution(RCE) भेद्यता के साथ आते हैं, जिसका कोई workaround नहीं है। फरवरी 2022 में 2 आधिकारिक अलग-अलग पैच जारी किए गए थे।
हालाँकि, 2024 के अंत में भी, हमें इस मुद्दे के संबंध में परामर्श मिलते रहते हैं, और उनके हैक किए गए स्टोर में यह पहचाना गया कि इस भेद्यता का शोषण किया गया था। देखे गए हमले template directive वाली एक स्ट्रिंग इनपुट करके किए गए थे। आमतौर पर चेकआउट प्रक्रिया का उपयोग करके, ऐसी क्रियाएँ जो उपयोगकर्ता-नियंत्रण योग्य फ़ील्ड के साथ ईमेल भेजने को ट्रिगर कर सकती हैं, आदि।
हमने यह पैच इस व्यापक हमले के कारण बनाया है, और कुछ स्टोर अभी भी अप्रभावित संस्करणों में अपग्रेड करने या 2 आधिकारिक पैच लागू करने में कठिनाई का सामना कर रहे हैं।
इस पैच को एक एक्सटेंशन के रूप में बनाते समय, हम संगतता का ध्यान रखते हैं। इसका मुख्य रूप से Magento 2.4 श्रृंखला पर परीक्षण किया गया है।
हालाँकि आधिकारिक दस्तावेज़ कहता है "methods को अब variables से कॉल नहीं किया जा सकता, न तो var directive से और न ही parameters के रूप में उपयोग करते समय", लेकिन जैसा कि हमने पुष्टि की, नवीनतम संस्करण(2.4.7-p3) में भी, Data Object पर "Getter" method को कॉल करना और Email Template Object(\Magento\Email\Model\AbstractTemplate) पर getUrl method को कॉल करना अभी भी अनुमत है।
यह पैच (एक्सटेंशन) उपरोक्त सुविधाओं को भी बनाए रखता है। इसलिए {{var data_object.something}} और {{var data_object.getSomething()}} दोनों ठीक हैं और समतुल्य हैं।
getUrl उदाहरण:
{{var this.getUrl($store,'route_id/controller/action',[_query:[param1:$obj.param1,param2:$obj.param2],_nosid:1])}}
संक्षेप में, इस एक्सटेंशन को स्थापित करने के बाद:
\Magento\Framework\DataObject या इसके चाइल्ड इंस्टेंस नहीं हैं, एक्सेस नहीं की जा सकतीं\Magento\Framework\DataObject और इसके चाइल्ड इंस्टेंस पर केवल "Getter" methods की अनुमति हैgetUrl method केवल this पर कार्य करता हैRCE रोकने के लिए LegacyResolver हटाया गया।
चाइल्ड टेम्पलेट के लिए "deferred directive with signature" पेश किया गया। हमें यकीन नहीं है कि इसमें कोई सुरक्षा वृद्धि है।
अभी भी एक अनफिक्स्ड बग है (#39353)।
टेम्पलेट फ़िल्टरिंग प्रक्रिया से पहले "deep template variable escaping" का उपयोग करें। LegacyResolver केवल एस्केप किया गया उपयोगकर्ता डेटा प्राप्त करेगा और इसलिए इसे बनाए रखा जा सकता है।
Magento 2.3 या 2.4
composer require wubinworks/module-template-filter-patch
यदि आपको यह एक्सटेंशन पसंद है या इस एक्सटेंशन ने आपकी मदद की है, तो कृपया इस रिपॉजिटरी को ★star☆ करें।
आपको ये भी पसंद आ सकते हैं:
Magento 2 के लिए CVE-2024-34102(उर्फ Cosmic Sting) पैच
Magento 2 उन्नत XML सुरक्षा
Magento 2 एन्क्रिप्शन कुंजी प्रबंधक CLI
Magento 2 JWT प्रमाणीकरण पैच
Magento 2 ग्राहक ईमेल परिवर्तन अक्षम करने वाला एक्सटेंशन
Magento 2 ग्राहक अक्षम करने वाला एक्सटेंशन