एनपीएम में तीन कमजोरियां पाई गईं, जो एनपीएम 6.13.4 में तय की गई हैं

डेवलपर्स जो परियोजना के प्रभारी हैं जारी एनपीएम पैकेज मैनेजर से हाल ही में जारी किया गया एनपीएम 6.13.4 के लिए एक सुधारात्मक अद्यतन Node.js वितरण में शामिल है और जावास्क्रिप्ट मॉड्यूल वितरित करने के लिए उपयोग किया जाता है।

प्रबंधक का यह नया सुधारात्मक संस्करण था तीन कमजोरियों को हल करने के लिए लॉन्च किया गया एक हमलावर द्वारा तैयार पैकेज को स्थापित करते समय मनमाने ढंग से सिस्टम फ़ाइलों को संशोधित या अधिलेखित करने की अनुमति दें।

CVE-2019-16775

यह भेद्यता 6.13.3 से पहले NPM CLI संस्करणों को प्रभावित करता है, अच्छा तुम हो वे मनमाने ढंग से फ़ाइल लेखन के लिए असुरक्षित हैं। पैकेज फ़ोल्डर के बाहर फ़ाइलों के लिए प्रतीकात्मक लिंक बना सकते हैं नोड_मॉड्यूल स्थापना के बाद बिन क्षेत्र के माध्यम से।

बिन package.json क्षेत्र में एक सही ढंग से निर्मित प्रविष्टि पैकेज संपादक को मनमाने फाइलों की ओर इशारा करते हुए एक प्रतीकात्मक लिंक बनाने की अनुमति देगा उपयोगकर्ता के सिस्टम पर जब पैकेज स्थापित होता है। स्थापना स्क्रिप्ट के माध्यम से यह व्यवहार अभी भी संभव है।

CVE-2019-16776

इस भेद्यता में 6.13.3 से पहले एनपीएम सीएलआई संस्करण मनमाने ढंग से फाइल लिखने से प्रभावित होते हैं। चूंकि आप बिन क्षेत्र के माध्यम से इच्छित नोड_मॉडल फ़ोल्डर के बाहर फ़ोल्डरों तक पहुंच को रोक नहीं सकते हैं।

बिन package.json फ़ील्ड में एक उचित रूप से निर्मित प्रविष्टि पैकेज संपादक को संकुल के संस्थापित होने पर उपयोगकर्ता की प्रणाली पर मनमानी फ़ाइलों को संशोधित करने और एक्सेस करने की अनुमति देती है। स्थापना स्क्रिप्ट के माध्यम से यह व्यवहार अभी भी संभव है।

बिन क्षेत्र मार्गों में "/../" के साथ अनुमति दी गई थी

CVE-2019-16777

अंत में, 6.13.4 से पहले एनपीएम सीएलआई संस्करण इस भेद्यता में कमजोर हैं एक मनमाना फ़ाइल को अधिलेखित करने के लिए। चूंकि आप अन्य बायनेरिज़ को विश्व स्तर पर स्थापित बायनेरिज़ को अधिलेखित करने से रोक नहीं सकते हैं।

उदाहरण के यदि कोई पैकेज विश्व स्तर पर स्थापित किया गया था और उसने किसी भी बाद की स्थापना को सेवा बाइनरी बनाया पैकेज जो एक सेवा बाइनरी भी बनाते हैं पुरानी सेवा बाइनरी को अधिलेखित कर देगा। यह व्यवहार अभी भी स्थानीय इंस्टॉलेशन और इंस्टॉलेशन स्क्रिप्ट के माध्यम से अनुमति देता है।

आप केवल गंतव्य निर्देशिका में फ़ाइलों को बदल सकते हैं जहां निष्पादन योग्य फाइलें स्थापित होती हैं (आमतौर पर / usr, / स्थानीय, / बिन)।

हालांकि इन कमजोरियों के लिए एक महत्वपूर्ण कारक यह है कि जो व्यक्ति इन खामियों का फायदा उठाना चाहता है, उसे अपने शिकार को विशेष रूप से डिज़ाइन किए गए बिन प्रविष्टि के साथ पैकेज स्थापित करना होगा। हालांकि, जैसा कि हमने अतीत में देखा है, यह एक अचूक बाधा नहीं है।

Npm, Inc. की सुरक्षा टीम इस हमले के उदाहरणों के लिए रजिस्ट्री को स्कैन कर रही है, और इस शोषण के साथ रजिस्ट्री में प्रकाशित कोई भी पैकेज नहीं मिला है। यह गारंटी नहीं देता है कि इसका उपयोग नहीं किया गया है, लेकिन इसका मतलब यह है कि वर्तमान में रजिस्ट्री के लिए प्रकाशित पैकेजों में इसका उपयोग नहीं किया जा रहा है।

हम भविष्य में इस भेद्यता का दोहन करने से बुरे अभिनेताओं को रोकने के लिए निगरानी और कार्रवाई जारी रखेंगे। हालाँकि, हम npm संकुल (निजी रजिस्ट्रियां, दर्पण, गिट रिपॉजिटरी आदि) के लिए सभी संभावित स्रोतों को स्कैन नहीं कर सकते हैं, इसलिए जल्द से जल्द अपडेट करना महत्वपूर्ण है।

समस्या निवारण

मुख्य समाधान के रूप में, यह अनुशंसा की जाती है कि आप नए सुधारात्मक संस्करण को पैकेज के रूप में अपडेट करें। NPM v6.13.3 में उपयोग किए गए पुस्तकालयों को पार्स करने के तरीके को अपडेट किया गया, जो आगे की स्लैश को हटाने के लिए बिन फ़ील्ड में सभी प्रविष्टियों को पवित्र और सत्यापित करेगा। Node.js.s में निर्मित अच्छी तरह से परखी और अत्यधिक विश्वसनीय मार्ग उपयोगिता का उपयोग करके प्रारंभिक, मार्ग प्रविष्टियों और मार्ग से बचने के अन्य साधन

हालांकि, वर्कअराउंड के रूप में, यह विकल्प के साथ स्थापित किया जा सकता है -Ignore- स्क्रिप्ट, जो अंतर्निहित चालक पैकेज चलाने पर रोक लगाता है।

आगे की हलचल के बिना, यदि आप बग्स के बारे में अधिक जानना चाहते हैं, तो आप npm ब्लॉग पोस्ट में विवरण देख सकते हैं निम्नलिखित लिंक में

अंत में, जो लोग नए संस्करण को स्थापित करना चाहते हैं, वे आधिकारिक चैनलों से या स्रोत कोड से संकलन चुनकर ऐसा कर सकते हैं। इसके लिए आप निर्देशों का पालन कर सकते हैं निम्नलिखित लिंक।


अपनी टिप्पणी दर्ज करें

आपका ईमेल पता प्रकाशित नहीं किया जाएगा। आवश्यक फ़ील्ड के साथ चिह्नित कर रहे हैं *

*

*

  1. डेटा के लिए जिम्मेदार: मिगुएल elngel Gatón
  2. डेटा का उद्देश्य: नियंत्रण स्पैम, टिप्पणी प्रबंधन।
  3. वैधता: आपकी सहमति
  4. डेटा का संचार: डेटा को कानूनी बाध्यता को छोड़कर तीसरे पक्ष को संचार नहीं किया जाएगा।
  5. डेटा संग्रहण: ऑकेंटस नेटवर्क्स (EU) द्वारा होस्ट किया गया डेटाबेस
  6. अधिकार: किसी भी समय आप अपनी जानकारी को सीमित, पुनर्प्राप्त और हटा सकते हैं।