CVE-2026-4800
lodash _.template imports कुंजी नामों के माध्यम से कोड इंजेक्शन के लिए संवेदनशील है
- प्रकाशित
- 31 मार्च 2026
- अद्यतन
- 15 अक्टू॰ 2026
- सीएनए असाइन करना
- openjs
- साक्ष्य देखे गए
- 25 अग॰ 2026
प्राथमिक सीवीएसएस
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:Hकम · अगले 30 दिन
- प्रतिशत
- 85.3%
- मॉडल दिनांक
- 23 अक्टू॰ 2026
ईपीएसएस एक सांख्यिकीय अनुमान है, कोई निश्चितता या प्रभाव का माप नहीं। इसे सीवीएसएस, केईवी स्थिति, एक्सपोज़र और अपने वातावरण के साथ मिलाएं।
सारांश
CVE-2021-23337 के लिए किए गए फिक्स ने _.template में variable विकल्प के लिए वैलिडेशन जोड़ा था, लेकिन options.imports के key नामों पर वही वैलिडेशन लागू नहीं किया गया, और दोनों पथ एक ही Function() कंस्ट्रक्टर सिंक में जाते हैं। जब कोई एप्लिकेशन असुरक्षित इनपुट को options.imports के key नामों के रूप में पास करता है, तो एक हमलावर डिफ़ॉल्ट-पैरामीटर एक्सप्रेशन इंजेक्ट कर सकता है जो टेम्पलेट कंपाइलेशन के समय मनमाना कोड निष्पादित करते हैं। इसके अतिरिक्त, _.template इम्पोर्ट्स को मर्ज करने के लिए assignInWith का उपयोग करता है, जो for..in के माध्यम से इनहेरिटेड प्रॉपर्टीज़ को एन्यूमरेट करता है, इसलिए यदि Object.prototype को किसी अन्य वेक्टर द्वारा प्रदूषित कर दिया गया है, तो प्रदूषित key को इम्पोर्ट्स ऑब्जेक्ट में कॉपी करके Function() को पास कर दिया जाता है। यह समस्या lodash, lodash-es, lodash-amd, और lodash.template के लिए 4.18.1 में ठीक कर दी गई है। वर्कअराउंड के रूप में, असुरक्षित इनपुट को options.imports में key नामों के रूप में पास न करें; केवल डेवलपर-नियंत्रित, स्थिर key नामों का उपयोग करें।
स्रोत
प्रोटोटाइप प्रदूषण के माध्यम से lodash टेम्पलेट में रिमोट कोड निष्पादन प्रदर्शित करने वाला प्रूफ-ऑफ-कॉन्सेप्ट, जिसमें हमले के प्रवाह और शोषण तकनीक का विस्तृत विश्लेषण शामिल है।
जिम्मेदारीपूर्ण उपयोग
भेद्यता जानकारी का उपयोग केवल उन प्रणालियों पर करें जिनके मालिक आप हैं या परीक्षण के लिए अधिकृत हैं। किटप्लॉइट सार्वजनिक अनुसंधान मेटाडेटा से लिंक करता है और शोषण कोड या दुर्भावनापूर्ण पेलोड को संग्रहीत नहीं करता है।