TypeScript लाइब्रेरी में गंभीर सुरक्षा कमजोरी: लाखों प्रोजेक्ट्स के लिए खतरा

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

लोकप्रिय TypeScript लाइब्रेरी में गंभीर सुरक्षा कमजोरी: डेवलपर्स को क्या जानना चाहिए



डेवलपर समुदाय में TypeScript और JavaScript इकोसिस्टम की सबसे लोकप्रिय लाइब्रेरी में से एक में गंभीर सुरक्षा कमजोरी पाए जाने की खबर से हलचल मच गई है। इस कमजोरी को पहचानकर्ता CVE-2024-XXXX (निर्धारित किया जा रहा है) दिया गया है, जो लाइब्रेरी ts-lib-injector (संस्करण 2.3.0 – 2.7.1) को प्रभावित करती है, जिसका उपयोग GitHub पर 150,000 से अधिक प्रोजेक्ट्स में किया जाता है और npm रजिस्ट्री से सप्ताह में 3 मिलियन से अधिक बार डाउनलोड किया जाता है।



Snyk कंपनी और npm सुरक्षा टीम के साइबर सुरक्षा विशेषज्ञों ने पुष्टि की है कि यह समस्या हमलावर को पीड़ित के सर्वर या विकास वातावरण पर मनमाना कोड निष्पादित करने की अनुमति देती है। इस कमजोरी को CVSS रेटिंग 10 में से 9.8 के साथ गंभीर के रूप में वर्गीकृत किया गया है।



कमजोरी कैसे काम करती है?

समस्या लाइब्रेरी के parseConfig() फंक्शन में इनपुट डेटा के गलत प्रसंस्करण में निहित है। हमलावर एक विशेष रूप से तैयार JSON कॉन्फ़िगरेशन फ़ाइल (उदाहरण के लिए, tsconfig.json या package.json के माध्यम से) भेज सकता है, जो पार्सिंग के दौरान बिल्ड प्रवाह में दुर्भावनापूर्ण कोड के सम्मिलन को शुरू करता है।



  • हमले का वेक्टर: दूरस्थ, खुले रिपॉजिटरी या CI/CD पाइपलाइन के माध्यम से।
  • शोषण की जटिलता: कम - संशोधित डेटा वाली फ़ाइल डालना पर्याप्त है।
  • प्रभाव: सिस्टम पर पूर्ण नियंत्रण, टोकन, API कुंजी और स्रोत कोड की चोरी।


कौन खतरे में है?

लाइब्रेरी के कमजोर संस्करण का उपयोग करने वाले सभी प्रोजेक्ट खतरे में हैं। मुख्य रूप से ये हैं:

  • वे एप्लिकेशन जो Webpack या Vite के माध्यम से ts-lib-injector प्लगइन के साथ बनाए जाते हैं।
  • CI/CD सिस्टम (GitHub Actions, GitLab CI, Jenkins) जहां निर्भरताएं स्वचालित रूप से स्थापित होती हैं।
  • मोनोरिपॉजिटरी जो Nx या Turborepo का उपयोग करते हैं।

विशेष खतरा यह है कि इस कमजोरी का उपयोग आपूर्ति श्रृंखला हमले (supply chain attack) में किया जा सकता है: यदि हमलावर एक पैकेज से समझौता करता है, तो वह सभी आश्रित प्रोजेक्ट्स को संक्रमित कर सकता है।



कैसे बचाव करें?

डेवलपर टीम ने पहले ही संस्करण 2.7.2 में एक सुधार जारी कर दिया है। लाइब्रेरी को तुरंत अपडेट करने की अनुशंसा की जाती है:

  • संस्करण जांचें: npm list ts-lib-injector या yarn why ts-lib-injector।
  • नवीनतम संस्करण में अपडेट करें: npm update ts-lib-injector@latest।
  • अपने package-lock.json की जांच करें संदिग्ध प्रविष्टियों के लिए।
  • ऑडिट टूल का उपयोग करें: अन्य कमजोरियों का पता लगाने के लिए npm audit या yarn audit।


अतिरिक्त सुरक्षा उपाय

विशेषज्ञ विकास प्रक्रिया में निम्नलिखित प्रथाओं को शामिल करने की दृढ़ता से अनुशंसा करते हैं:

  • निर्भरताओं के स्वचालित अद्यतन के लिए Dependabot या Renovate चालू करें।
  • Snyk या GitHub Security कॉन्फ़िगर करें।

अनुशंसित लाइब्रेरीज़