
CVE-2021-41091 के लिए POC
यह एक्सप्लॉइट CVE-2021-41091 सुरक्षा भेद्यता की गहराई से जांच प्रस्तुत करता है और होस्ट पर विशेषाधिकार उन्नयन (privilege escalation) प्राप्त करने के लिए एक्सप्लॉइट स्क्रिप्ट का उपयोग करने हेतु चरण-दर-चरण मार्गदर्शिका प्रदान करता है।
CVE-2021-41091 Moby (Docker Engine) में एक दोष है जो अविशेषाधिकृत लिनक्स उपयोगकर्ताओं को अनुचित रूप से प्रतिबंधित अनुमतियों के कारण डेटा निर्देशिका (आमतौर पर /var/lib/docker पर स्थित) के अंदर यात्रा करने और प्रोग्राम निष्पादित करने की अनुमति देता है। यह भेद्यता तब उपस्थित होती है जब कंटेनरों में setuid जैसी विस्तारित अनुमतियों वाले निष्पादन योग्य प्रोग्राम होते हैं। अविशेषाधिकृत लिनक्स उपयोगकर्ता तब उन प्रोग्रामों को खोज और निष्पादित कर सकते हैं, साथ ही यदि होस्ट पर उपयोगकर्ता का UID कंटेनर के अंदर फ़ाइल स्वामी या समूह से मेल खाता है तो फ़ाइलों को संशोधित कर सकते हैं।
इस भेद्यता के शोषण में ओवरले फ़ाइलसिस्टम एक महत्वपूर्ण घटक है। Docker का ओवरले फ़ाइलसिस्टम कंटेनर के फ़ाइल सिस्टम को होस्ट के फ़ाइल सिस्टम के ऊपर स्तरित करने में सक्षम बनाता है, जिससे होस्ट सिस्टम कंटेनर के अंदर फ़ाइलों तक पहुँच और उनमें हेर-फेर कर सकता है। CVE-2021-41091 के मामले में, /var/lib/docker/overlay2 में अत्यधिक अनुमेय निर्देशिका अनुमतियाँ अविशेषाधिकृत उपयोगकर्ताओं को कंटेनरों के अंदर प्रोग्रामों तक पहुँचने और उन्हें निष्पादित करने में सक्षम बनाती हैं, जिससे संभावित विशेषाधिकार उन्नयन हमला हो सकता है।
अपनी मशीन पर होस्ट किए गए Docker कंटेनर से कनेक्ट करें और रूट एक्सेस प्राप्त करें।
कंटेनर के अंदर, निम्नलिखित कमांड के साथ /bin/bash पर setuid बिट सेट करें: chmod u+s /bin/bash
होस्ट सिस्टम पर, रिपॉजिटरी को क्लोन करके और स्क्रिप्ट को निम्नानुसार निष्पादित करके प्रदान की गई एक्सप्लॉइट स्क्रिप्ट (poc.sh) चलाएँ:
git clone https://github.com/UncleJ4ck/CVE-2021-41091
cd CVE-2021-41091
chmod +x ./poc.sh
./poc.sh
Docker इंजन संस्करण 20.10.5+dfsg1 पर परीक्षण किया गया
इस भेद्यता को दूर करने के लिए Docker को संस्करण 20.10.9 या उच्चतर में अपडेट करना अनिवार्य है।