कम्पोज़र में एक भेद्यता की पहचान की गई है जो पैकागिस्ट PHP रिपॉजिटरी से समझौता करता है

कुछ दिनों पहले खबर यह है कि एक महत्वपूर्ण भेद्यता की पहचान की गई है en की निर्भरता प्रबंधक संगीतकार (CVE-2021-29472) जो आपको विशेष रूप से गठित URL मान वाले पैकेज को संसाधित करते समय सिस्टम पर मनमाने आदेशों को निष्पादित करने की अनुमति देता है जो स्रोत कोड डाउनलोड करने की दिशा निर्धारित करता है।

समस्या स्वयं GitDriver, SvnDriver और HgDriver घटकों में प्रकट होती है Git, सबवर्सन और मर्क्यूरियल सोर्स कंट्रोल सिस्टम के साथ प्रयोग किया जाता है। संयुक्त संस्करण 1.10.22 और 2.0.13 में भेद्यता तय की गई थी।

विशेष रूप से, संगीतकार का डिफ़ॉल्ट पैकाजिस्ट पैकेज रिपॉजिटरी, जिसमें 306.000 PHP डेवलपर पैकेज हैं और प्रति माह 1.400 बिलियन से अधिक डाउनलोड प्रदान करता है, विशेष रूप से प्रभावित होता है।

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

प्रयोग से पता चला कि अगर समस्या के बारे में जानकारी होती है, तो हमलावर पैकगिस्ट के बुनियादी ढांचे को नियंत्रित कर सकते हैं और रख-रखाव के क्रेडेंशियल्स को रोक सकते हैं या बदलावों के साथ पैकेज वेरिएबल की डिलीवरी की व्यवस्था करते हुए, थर्ड-पार्टी सर्वर को पैकेज के डाउनलोड को पुनर्निर्देशित कर सकते हैं। दुर्भावनापूर्ण उपयोगकर्ता निर्भरता स्थापना के दौरान पिछले दरवाजे को बदलने के लिए।

उपयोगकर्ताओं को समाप्त करने का खतरा सीमित है इस तथ्य के कारण कि कंपोजर.जॉन की सामग्री आमतौर पर उपयोगकर्ता द्वारा परिभाषित की जाती है और तीसरे पक्ष के रिपॉजिटरी तक पहुंचने पर स्रोत से लिंक पारित किए जाते हैं, जो आमतौर पर विश्वसनीय होते हैं। मुख्य झटका Packagist.org रिपॉजिटरी और निजी Packagist सेवा पर गिर गया, कि उपयोगकर्ताओं से प्राप्त डेटा के हस्तांतरण के साथ संगीतकार कहते हैं। हमलावर एक विशेष रूप से तैयार किए गए पैकेज को गिराकर पैकगिस्ट सर्वर पर अपना कोड चला सकते हैं।

पैकगिस्ट टीम ने अधिसूचना के 12 घंटे के भीतर भेद्यता का समाधान किया भेद्यता। शोधकर्ताओं ने 22 अप्रैल को पैकगिस्ट डेवलपर्स को निजी तौर पर अधिसूचित किया था, और इस मुद्दे को उसी दिन तय किया गया था। भेद्यता के लिए एक फिक्स के साथ एक सार्वजनिक संगीतकार अद्यतन 27 अप्रैल को जारी किया गया था, और विवरण 28 अप्रैल को सामने आए थे। पैकगिस्ट के सर्वर पर लॉग का एक ऑडिट भेद्यता के साथ जुड़े किसी भी संदिग्ध गतिविधि को प्रकट नहीं करता था।

तर्क इंजेक्शन त्रुटियाँ त्रुटियों का एक बहुत ही दिलचस्प वर्ग है जो अक्सर कोड समीक्षाओं के दौरान और पूरी तरह से ब्लैक बॉक्स इंटरैक्शन में अनदेखी की जाती हैं।

समस्या URL सत्यापन कोड में त्रुटि के कारण होती है रूट कंपोज़र.जसन फ़ाइल में और स्रोत डाउनलोड लिंक में। बग नवंबर 2011 से कोड में मौजूद है। पैकगिस्ट एक विशेष स्रोत नियंत्रण प्रणाली से बंधे बिना कोड डाउनलोड को प्रबंधित करने के लिए विशेष परतों का उपयोग करता है, जिसे कमांड लाइन के तर्कों के साथ "fromShellCommandline" कहकर निष्पादित किया जाता है।

समस्या का दिल यह है कि ProcessExecutor पद्धति ने आपको URL में किसी भी अतिरिक्त कॉल पैरामीटर को निर्दिष्ट करने की अनुमति दी है। इस तरह के बच GitDriver.php, SvnDriver.php और HgDriver.php ड्राइवरों से गायब थे। GitDriver.php हमले को इस तथ्य से बाधित किया गया था कि "गिट ls- रिमोट" कमांड ने पथ के बाद अतिरिक्त तर्कों को निर्दिष्ट करने का समर्थन नहीं किया था।

HgDriver.php पर एक हमले को "hq" उपयोगिता के लिए "-config" पैरामीटर पास करके संभव बनाया गया था, जो "alias.identify" कॉन्फ़िगरेशन में हेरफेर करके किसी भी कमांड के निष्पादन को व्यवस्थित करने की अनुमति देता है।

Packagist के समान URL के साथ एक परीक्षण पैकेज सबमिट करके, शोधकर्ताओं ने यह सुनिश्चित किया कि इसके प्रकाशित होने के बाद, उनके सर्वर को AWS पर किसी एक Packagist सर्वर से HTTP अनुरोध प्राप्त हुआ जिसमें वर्तमान निर्देशिका में फ़ाइलों की सूची थी।

यह ध्यान दिया जाना चाहिए कि रख-रखावियों ने पैकगिस्ट के सार्वजनिक उदाहरण में इस भेद्यता के पिछले शोषण के किसी भी संकेत की पहचान नहीं की।

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


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

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

*

*

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