
CVE-2021-3493 का तकनीकी विश्लेषण और एक्सप्लॉइट, एक OverlayFS भेद्यता जो Ubuntu सिस्टम पर बिना विशेषाधिकार वाले माउंट के माध्यम से स्थानीय विशेषाधिकार वृद्धि को सक्षम करती है।
TL;DR
यह जानें कि OverlayFS में एक कमजोरी कैसे Ubuntu के स्थानीय उपयोगकर्ताओं को रूट विशेषाधिकार प्राप्त करने देती है।
कमजोरी का सारांश
लिनक्स कर्नेल में overlayfs फाइल सिस्टम से संबंधित एक Ubuntu-विशिष्ट समस्या, जहाँ यह उपयोगकर्ता नेमस्पेस के संबंध में फाइल सिस्टम क्षमताओं (capabilities) के अनुप्रयोग को उचित रूप से मान्य नहीं करता था। एक स्थानीय हमलावर इसका उपयोग ऊंचे विशेषाधिकार प्राप्त करने के लिए कर सकता है, जो कि Ubuntu में अनप्रिविलेज्ड overlayfs माउंट की अनुमति देने वाले पैच के कारण है।
CVE-2021-3493
श्रेय
एक स्वतंत्र सुरक्षा शोधकर्ता ने इस कमजोरी की सूचना SSD Secure Disclosure कार्यक्रम को दी है।
प्रभावित संस्करण
विक्रेता की प्रतिक्रिया
"हमने आज इस मुद्दे के लिए सुरक्षा सलाहकार (advisories) प्रकाशित किए हैं:
https://ubuntu.com/security/notices/USN-4915-1 https://ubuntu.com/security/notices/USN-4916-1 https://ubuntu.com/security/notices/USN-4917-1
साथ ही इस मुद्दे को अपने CVE ट्रैकर में सार्वजनिक किया है:
https://ubuntu.com/security/CVE-2021-3493
oss-security सूची को भेजे गए संदेश की सामग्री निम्नलिखित है: https://www.openwall.com/lists/oss-security/2021/04/16/1
कमजोरी का विश्लेषण
Linux फाइल क्षमताओं (file capabilities) को विस्तारित फाइल एट्रिब्यूट्स में संग्रहीत करने का समर्थन करता है, जो सेटुइड-बिट (setuid-bit) के समान काम करते हैं, लेकिन अधिक सूक्ष्म स्तर पर हो सकते हैं। स्यूडो-कोड में फाइल क्षमताओं को सेट करने की एक सरल प्रक्रिया इस प्रकार दिखती है:
setxattr(...):
if cap_convert_nscap(...) is not OK:
then fail
vfs_setxattr(...)
महत्वपूर्ण कॉल cap_convert_nscap है, जो नेमस्पेस के संबंध में अनुमतियों की जाँच करता है।
यदि हम अपने स्वयं के नेमस्पेस और अपने स्वयं के माउंट से फाइल क्षमताओं को सेट करते हैं, तो कोई समस्या नहीं है और हमें ऐसा करने की अनुमति है। समस्या यह है कि जब OverlayFS इस संचालन को अंतर्निहित फाइल सिस्टम पर अग्रेषित करता है, तो यह केवल vfs_setxattr को कॉल करता है और cap_convert_nscap में जाँच को छोड़ देता है।
यह बाहरी नेमस्पेस/माउंट पर फाइलों पर मनमानी क्षमताएँ सेट करने की अनुमति देता है, जहाँ वे निष्पादन के दौरान भी लागू होंगी।
Linux 5.11 में cap_convert_nscap के कॉल को vfs_setxattr में स्थानांतरित कर दिया गया था, इसलिए यह अब कमजोर नहीं है।