
CVE-2021-4191 - GitLab User Enumeration के लिए एक PoC एक्सप्लॉइट।
GitLab एक व्यापक रूप से उपयोग किया जाने वाला वेब-आधारित DevOps जीवनचक्र उपकरण है जो निरंतर एकीकरण, मुद्दा ट्रैकिंग, कोड समीक्षा और अन्य सुविधाओं के साथ एक Git-रिपॉजिटरी प्रबंधक प्रदान करता है। GraphQL API एक शक्तिशाली इंटरफ़ेस है जो उपयोगकर्ताओं को GitLab के साथ प्रोग्रामेटिक रूप से बातचीत करने और विभिन्न क्रियाएँ करने में सक्षम बनाता है।
GitLab CVE-2021-4191 भेद्यता GitLab के विशिष्ट संस्करणों के लिए GraphQL API के भीतर उपयोगकर्ता एन्यूमरेशन में एक त्रुटि से उत्पन्न होती है। प्रतिबंधित साइन-अप वाले निजी GitLab परिनियोजन (deployments) के उदाहरण इस समस्या के प्रति संवेदनशील हो सकते हैं।
उपयोगकर्ता एन्यूमरेशन एक तकनीक है जिसका उपयोग हमलावरों द्वारा सिस्टम की वैध और अमान्य क्वेरीज़ के प्रति प्रतिक्रिया में अंतर का फायदा उठाकर सिस्टम पर उपयोगकर्ता खातों के अस्तित्व को निर्धारित करने के लिए किया जाता है। इस मामले में, अनधिकृत (unauthenticated) उपयोगकर्ता कमजोर GitLab इंस्टेंस पर मौजूदा उपयोगकर्ता खातों की गणना करने के लिए GraphQL API का लाभ उठा सकते हैं।
विशिष्ट क्वेरीज़ तैयार करके और प्रतिक्रियाओं का विश्लेषण करके, दुर्भावनापूर्ण अभिनेता यह अनुमान लगा सकते हैं कि कोई विशेष उपयोगकर्ता नाम GitLab इंस्टेंस पर पंजीकृत है या नहीं, जो संभावित रूप से आगे के लक्षित हमलों में सहायता कर सकता है।
GitLab उपयोगकर्ता एन्यूमरेशन भेद्यता (CVE-2021-4191) हमलावरों को प्रतिबंधित साइन-अप वाले निजी GitLab इंस्टेंस पर पंजीकृत मान्य उपयोगकर्ता नामों की सूची प्राप्त करने की अनुमति दे सकती है। इस जानकारी से लैस होकर, हमलावर पहचाने गए उपयोगकर्ताओं के विरुद्ध फ़िशिंग अभियान या अन्य शोषण प्रयासों जैसे लक्षित हमले शुरू कर सकते हैं।
GitLab CE/EE के निम्नलिखित संस्करण प्रभावित हैं:
GitLab CE/EE संस्करण 13.0 से 14.6.5
GitLab CE/EE संस्करण 14.7 से 14.7.4
GitLab CE/EE संस्करण 14.8 से 14.8.2
GitLab ने निम्नलिखित संस्करणों में इस भेद्यता का समाधान किया है:
GitLab CE/EE संस्करण 14.6.6
GitLab CE/EE संस्करण 14.7.5
GitLab CE/EE संस्करण 14.8.3
अपने GitLab इंस्टेंस को उपयोगकर्ता एन्यूमरेशन भेद्यता से बचाने के लिए, तुरंत नवीनतम पैच किए गए संस्करण में अपग्रेड करना महत्वपूर्ण है। आवश्यक अपग्रेड करने के लिए नीचे दिए गए चरणों का पालन करें:
बैकअप: किसी भी अपग्रेड के साथ आगे बढ़ने से पहले, सुनिश्चित करें कि संभावित डेटा हानि से बचने के लिए आपके पास आपके GitLab डेटा का पूर्ण बैकअप है।
रिलीज़ नोट्स की समीक्षा करें: अपने इंस्टेंस पर परिवर्तनों और संभावित प्रभावों को समझने के लिए नवीनतम संस्करण के रिलीज़ नोट्स से परिचित हों।
अपग्रेड प्रक्रिया: अपने वर्तमान संस्करण के लिए उपयुक्त आधिकारिक GitLab अपग्रेड गाइड का पालन करें। ये गाइड GitLab दस्तावेज़ीकरण में उपलब्ध हैं और एक सुचारू अपग्रेड प्रक्रिया के लिए विस्तृत निर्देश प्रदान करते हैं।
परीक्षण: अपग्रेड के बाद, यह सुनिश्चित करने के लिए अपने GitLab इंस्टेंस का पूरी तरह से परीक्षण करें कि सभी महत्वपूर्ण कार्यक्षमताएँ सही ढंग से कार्य कर रही हैं।
पैच किए गए संस्करण में अपग्रेड करने के अलावा, निम्नलिखित सुरक्षा उपायों को लागू करने पर विचार करें:
अभिगम नियंत्रण: अपने GitLab इंस्टेंस में अभिगम नियंत्रण सेटिंग्स की समीक्षा करें और ठीक करें ताकि यह सुनिश्चित हो सके कि केवल अधिकृत उपयोगकर्ताओं के पास संवेदनशील डेटा और क्रियाओं तक पहुँच है।
सुरक्षा जागरूकता प्रशिक्षण: अपनी विकास और संचालन टीमों को उपयोगकर्ता एन्यूमरेशन के जोखिमों और अन्य सुरक्षा सर्वोत्तम प्रथाओं के बारे में शिक्षित करने के लिए उन्हें सुरक्षा जागरूकता प्रशिक्षण प्रदान करें।
निगरानी और लॉगिंग: अपने GitLab इंस्टेंस पर किसी भी संदिग्ध गतिविधि का पता लगाने और उसका जवाब देने के लिए मजबूत निगरानी और लॉगिंग प्रथाओं को लागू करें।
नियमित सुरक्षा ऑडिट: संभावित भेद्यताओं को सक्रिय रूप से पहचानने और संबोधित करने के लिए अपने GitLab इंस्टेंस के नियमित सुरक्षा ऑडिट आयोजित करें।
यह अवलोकन GitLab को प्रभावित करने वाली CVE-2021-4191 भेद्यता के बारे में प्रमुख जानकारी प्रदान करता है। व्यापक और अद्यतित जानकारी के लिए, हमेशा आधिकारिक GitLab दस्तावेज़ीकरण और सुरक्षा सलाहकारों का संदर्भ लें। अपने GitLab इंस्टेंस और संबंधित सिस्टम को नवीनतम सुरक्षा पैच और सर्वोत्तम प्रथाओं के साथ अद्यतित रखना एक सुरक्षित विकास और परिनियोजन वातावरण बनाए रखने के लिए आवश्यक है।