CVE-2026-33937
Handlebars.js में AST टाइप कन्फ्यूज़न के माध्यम से JavaScript इंजेक्शन
- प्रकाशित
- 27 मार्च 2026
- अद्यतन
- 4 सित॰ 2026
- सीएनए असाइन करना
- GitHub_M
- साक्ष्य देखे गए
- 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 दिन
- प्रतिशत
- 75.9%
- मॉडल दिनांक
- 21 सित॰ 2026
ईपीएसएस एक सांख्यिकीय अनुमान है, कोई निश्चितता या प्रभाव का माप नहीं। इसे सीवीएसएस, केईवी स्थिति, एक्सपोज़र और अपने वातावरण के साथ मिलाएं।
सारांश
Handlebars उपयोगकर्ताओं को सिमेंटिक टेम्पलेट बनाने के लिए आवश्यक शक्ति प्रदान करता है। संस्करण 4.0.0 से 4.7.8 में, `Handlebars.compile()` टेम्पलेट स्ट्रिंग के अलावा एक पूर्व-पार्स किया गया AST ऑब्जेक्ट भी स्वीकार करता है। `NumberLiteral` AST नोड का `value` फ़ील्ड बिना कोटेशन या सैनिटाइज़ेशन के सीधे उत्पन्न JavaScript में उत्सर्जित होता है। इसलिए, एक हमलावर जो `compile()` को एक क्राफ्टेड AST प्रदान कर सकता है, वह मनमाना JavaScript इंजेक्ट और निष्पादित कर सकता है, जिससे सर्वर पर रिमोट कोड एक्ज़ीक्यूशन (RCE) हो सकता है। संस्करण 4.7.9 इस समस्या को ठीक करता है। कुछ वर्कअराउंड उपलब्ध हैं। `Handlebars.compile()` को कॉल करने से पहले इनपुट प्रकार को सत्यापित करें; सुनिश्चित करें कि तर्क हमेशा एक `string` है, कभी भी एक सादा ऑब्जेक्ट या JSON-डिसीरियलाइज़्ड मान नहीं। यदि टेम्पलेट बिल्ड समय पर पहले से कंपाइल किए जाते हैं, तो सर्वर पर Handlebars रनटाइम-ओनली बिल्ड (`handlebars/runtime`) का उपयोग करें; `compile()` अनुपलब्ध होगा।
स्रोत
4- CVE-2026-33937एक्सप्लॉइट
Python POC, Handlebars.js AST Injection RCE के लिए Exploit, Handlebars.js संस्करण 4.0.0 से 4.7.8 प्रभावित हैं। CVSS स्कोर: 9.8 Critical.
CVE-2026-33937 के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, जो Handlebars AST इंजेक्शन भेद्यता है जो Node.js में रिमोट कोड निष्पादन की ओर ले जाती है। निर्मित AST पेलोड का प्रदर्शन करता है और शमन मार्गदर्शन प्रदान करता है।
जिम्मेदारीपूर्ण उपयोग
भेद्यता जानकारी का उपयोग केवल उन प्रणालियों पर करें जिनके मालिक आप हैं या परीक्षण के लिए अधिकृत हैं। किटप्लॉइट सार्वजनिक अनुसंधान मेटाडेटा से लिंक करता है और शोषण कोड या दुर्भावनापूर्ण पेलोड को संग्रहीत नहीं करता है।