270 हजार परियोजनाहरूमा प्रयोग गरिएको नोड-नेटमास्क NPM प्याकेजमा जोखिम

नोड-नेटमास्क NPM प्याकेज, जसमा प्रति हप्ता लगभग 3 मिलियन डाउनलोडहरू छन् र GitHub मा 270 हजार भन्दा बढी परियोजनाहरूमा निर्भरताको रूपमा प्रयोग गरिन्छ, एक जोखिम (CVE-2021-28918) छ जसले यसलाई नेटमास्क प्रयोग गर्ने जाँचहरू बाइपास गर्न अनुमति दिन्छ। ठेगाना दायराहरू वा फिल्टरिङका लागि घटना निर्धारण गर्न। मुद्दा नोड-नेटमास्क 2.0.0 को रिलीज मा फिक्स गरिएको छ।

जोखिमले बाह्य आईपी ठेगानालाई आन्तरिक नेटवर्कबाट ठेगानाको रूपमा व्यवहार गर्न सम्भव बनाउँछ र यसको विपरीत, र SSRF (सर्भर-साइड अनुरोध जाली), आरएफआई गर्न अनुप्रयोगमा नोड-नेटमास्क मोड्युल प्रयोग गर्ने निश्चित तर्कको साथ। (रिमोट फाइल समावेश) र LFI (स्थानीय फाइल समावेश) आक्रमणहरू) आन्तरिक नेटवर्कमा स्रोतहरू पहुँच गर्न र कार्यान्वयन श्रृंखलामा बाह्य वा स्थानीय फाइलहरू समावेश गर्न। समस्या यो हो कि स्पेसिफिकेशन अनुसार, शून्यबाट सुरु हुने ठेगाना स्ट्रिङ मानहरूलाई अक्टल संख्याको रूपमा व्याख्या गरिनु पर्छ, तर नोड-नेटमास्क मोड्युलले यसलाई ध्यानमा राख्दैन र तिनीहरूलाई दशमलव संख्याको रूपमा व्यवहार गर्दछ।

उदाहरणका लागि, एक आक्रमणकारीले "0177.0.0.1" मान निर्दिष्ट गरेर स्थानीय स्रोतलाई अनुरोध गर्न सक्छ, जुन "127.0.0.1" सँग मेल खान्छ, तर "नोड-नेटमास्क" मोड्युलले शून्यलाई खारेज गर्नेछ, र 0177.0.0.1″ लाई "को रूपमा व्यवहार गर्नेछ। 177.0.0.1", जुन अनुप्रयोगमा पहुँच नियमहरूको मूल्याङ्कन गर्दा, "127.0.0.1" सँग पहिचान निर्धारण गर्न सम्भव हुनेछैन। त्यस्तै, आक्रमणकारीले "0127.0.0.1" ठेगाना निर्दिष्ट गर्न सक्छ, जुन "87.0.0.1" सँग मिल्दोजुल्दो हुनुपर्छ, तर "नोड-नेटमास्क" मोड्युलमा "127.0.0.1" को रूपमा व्यवहार गरिनेछ। त्यसै गरी, तपाईंले "012.0.0.1" ("10.0.0.1" को बराबर, तर चेकको समयमा 12.0.0.1 को रूपमा प्रशोधन गरिनेछ) जस्ता मानहरू निर्दिष्ट गरेर इन्ट्रानेट ठेगानाहरूमा पहुँचको लागि चेकलाई धोखा दिन सक्नुहुन्छ।

समस्या पहिचान गर्ने अन्वेषकहरूले समस्यालाई विपत्तिजनक भन्छन् र धेरै आक्रमण परिदृश्यहरू प्रदान गर्छन्, तर तिनीहरूमध्ये अधिकांश अनुमानात्मक देखिन्छन्। उदाहरणका लागि, यसले इनपुट अनुरोधको प्यारामिटर वा डेटामा आधारित स्रोत अनुरोध गर्न बाह्य जडानहरू स्थापना गर्ने Node.js-आधारित अनुप्रयोगलाई आक्रमण गर्ने सम्भावनाको बारेमा कुरा गर्छ, तर अनुप्रयोगको नाम वा विस्तृत रूपमा उल्लेख गरिएको छैन। यदि तपाईंले प्रविष्ट गरिएका IP ठेगानाहरूमा आधारित स्रोतहरू लोड गर्ने अनुप्रयोगहरू फेला पार्नुभयो भने पनि, स्थानीय नेटवर्कमा जडान नगरी वा "मिरर" IP ठेगानाहरूको नियन्त्रण प्राप्त नगरी व्यवहारमा कसरी जोखिमको शोषण गर्न सकिन्छ भन्ने कुरा पूर्ण रूपमा स्पष्ट छैन।

अन्वेषकहरूले मात्र 87.0.0.1 (टेलिकम इटालिया) र 0177.0.0.1 (ब्रासिल टेलिकम) का मालिकहरूले 127.0.0.1 मा पहुँच प्रतिबन्धलाई बाइपास गर्न सक्षम छन् भन्ने अनुमान गर्छन्। थप यथार्थपरक परिदृश्य विभिन्न एप्लिकेसन-साइड ब्लक सूचीहरू बाइपास गर्ने जोखिमको शोषण गर्नु हो। NPM मोड्युल "निजी-आईपी" मा इन्ट्रानेट दायराहरूको परिभाषा साझेदारी गर्न पनि मुद्दा लागू गर्न सकिन्छ।

स्रोत: opennet.ru

एक टिप्पणी थप्न