Node.js लाइब्रेरी में गंभीर सुरक्षा भेद्यता: हज़ारों प्रोजेक्ट्स के लिए खतरा

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

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

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

लोकप्रिय JavaScript (Node.js) लाइब्रेरी में गंभीर सुरक्षा भेद्यता: दूरस्थ कोड निष्पादन का खतरा



Node.js डेवलपर समुदाय में एक गंभीर सुरक्षा भेद्यता की खोज की खबर से हलचल मच गई है, जो पारिस्थितिकी तंत्र की सबसे व्यापक रूप से उपयोग की जाने वाली लाइब्रेरी में से एक को प्रभावित करती है। इस समस्या को पहचानकर्ता CVE-2024-XXXX (संख्या की पुष्टि की जा रही है) प्राप्त हुआ है, जो एक हमलावर को Node.js पर चलने वाले सर्वर पर दूरस्थ रूप से मनमाना कोड (RCE) निष्पादित करने की अनुमति देता है। साइबर सुरक्षा विशेषज्ञों के अनुसार, यह भेद्यता दुनिया भर में लाखों प्रोजेक्ट्स को प्रभावित करती है।



समस्या का सार



यह भेद्यता «fast-xml-parser» लाइब्रेरी (संस्करण 4.3.4 से पहले) में पाई गई थी, जिसका उपयोग XML और HTML दस्तावेज़ों को पार्स करने के लिए किया जाता है। यह लाइब्रेरी npm मैनेजर के शीर्ष 1000 सबसे लोकप्रिय पैकेजों में शामिल है और प्रति सप्ताह 15 मिलियन से अधिक डाउनलोड होती है। समस्या XML बाहरी संस्थाओं (XXE — XML External Entity) के गलत प्रसंस्करण में निहित है।



विशेष रूप से तैयार किए गए XML दस्तावेज़ को संसाधित करते समय, लाइब्रेरी कनेक्टेड बाहरी संसाधनों की जाँच नहीं करती है, जिससे हमलावर निम्नलिखित कार्य कर सकता है:



  • सर्वर पर मनमानी फ़ाइलें पढ़ सकता है (जैसे, पासवर्ड, एक्सेस कुंजियाँ, कॉन्फ़िगरेशन);
  • SSRF (Server-Side Request Forgery) के माध्यम से मनमाने कमांड निष्पादित कर सकता है;
  • अनंत पुनरावर्ती लिंक के माध्यम से सेवा से इनकार (DoS) कर सकता है।


विशेष खतरा इस तथ्य में निहित है कि इस भेद्यता के शोषण के लिए प्रमाणीकरण की आवश्यकता नहीं है — यह पर्याप्त है कि सर्वर HTTP अनुरोध, फ़ाइल अपलोड या WebSocket के माध्यम से प्रेषित एक दुर्भावनापूर्ण XML दस्तावेज़ को संसाधित करे।



कौन से संस्करण जोखिम में हैं?



सुरक्षा शोधकर्ताओं ने पुष्टि की है कि fast-xml-parser लाइब्रेरी के 4.3.4 से नीचे के सभी संस्करण असुरक्षित हैं। साथ ही, वे प्रोजेक्ट भी जोखिम में हैं जो पैकेजों के पुराने संस्करणों का उपयोग करते हैं, जो इस लाइब्रेरी पर ट्रांज़िटिव रूप से (अन्य निर्भरताओं के माध्यम से) निर्भर हैं।



स्थिति विशेष रूप से गंभीर है:

  • XML-RPC अनुरोधों को संसाधित करने वाले वेब सर्वरों के लिए;
  • SOAP सेवाओं के साथ एकीकरण प्रणालियों के लिए;
  • XML स्कीमा के साथ OpenAPI/Swagger का उपयोग करने वाले अनुप्रयोगों के लिए;
  • XML प्रारूप में कॉन्फ़िगरेशन फ़ाइलों के साथ काम करने वाली सेवाओं के लिए।


सुरक्षा के लिए सिफारिशें



लाइब्रेरी के डेवलपर्स ने पहले ही संस्करण 4.3.4 में एक पैच जारी कर दिया है। हम सभी Node.js उपयोगकर्ताओं को तुरंत निम्नलिखित कार्य करने की दृढ़ता से अनुशंसा करते हैं:



  • लाइब्रेरी अपडेट करें — कमांड npm update fast-xml-parser चलाएँ या package.json में मैन्युअल रूप से संस्करण को "^4.3.4" में बदलें;
  • ट्रांज़िटिव निर्भरताओं की जाँच करें — पुरानी नेस्टेड निर्भरताओं की पहचान करने के लिए npm audit का उपयोग करें;
  • बाहरी संस्थाओं को अक्षम करें — यदि अपडेट संभव नहीं है, तो पार्सर विकल्पों के माध्यम से DOCTYPE और बाहरी संस्थाओं के प्रसंस्करण को स्पष्ट रूप से अक्षम करें;
  • WAF लागू करें — संदिग्ध XML अनुरोधों को ब्लॉक करने के लिए Web Application Firewall कॉन्फ़िगर करें।


विशेषज्ञ ध्यान देते हैं कि डेटा पार्सिंग के लिए लाइब्रेरी में यह पहली गंभीर भेद्यता नहीं है। पहले भी YAML (js-yaml) और CSV (papaparse) पार्सिंग के लिए लाइब्रेरी में समान समस्याएं पाई गई थीं। डेवलपर्स को अपने प्रोजेक्ट्स की सुरक्षा के प्रति अधिक सावधान रहना चाहिए।

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