
CVE-2023-0386 के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, एक लिनक्स ओवरलेएफएस स्थानीय विशेषाधिकार वृद्धि कमजोरी। यह दर्शाता है कि कॉपी-अप के दौरान फाइल कैपेबिलिटी हैंडलिंग में त्रुटि कैसे अनप्रिविलेज्ड उपयोगकर्ताओं को रूट एक्सेस प्राप्त करने की अनुमति देती है।
यह रिपॉजिटरी CVE-2023-0386 के लिए एक प्रूफ ऑफ कॉन्सेप्ट प्रदान करती है: https://nvd.nist.gov/vuln/detail/CVE-2023-0386
टीम के सदस्य: Bǎnicǎ Dragoș-Marius और Borsos Matheas-Roland
यहाँ वीडियो है: https://www.youtube.com/watch?v=Ikux1rjIYP0
इस रिपॉजिटरी में CVE-2023-0386 के लिए एक प्रूफ-ऑफ-कॉन्सेप्ट (PoC) एक्सप्लॉइट है, जो Linux कर्नेल OverlayFS सबसिस्टम में एक स्थानीय विशेषाधिकार वृद्धि भेद्यता है।
यह भेद्यता एक स्थानीय, अनप्रिविलेज्ड उपयोगकर्ता को OverlayFS कॉपी-अप संचालन के दौरान फ़ाइल क्षमताओं और स्वामित्व के गलत हैंडलिंग का फायदा उठाकर रूट तक विशेषाधिकार बढ़ाने की अनुमति देती है। PoC प्रदर्शित करता है कि कैसे सावधानीपूर्वक तैयार किया गया OverlayFS सेटअप एक निष्पादन योग्य उत्पादन कर सकता है जो ऊंचे विशेषाधिकारों को बनाए रखता है, भले ही इसे nosuid माउंट से कॉपी किया गया हो।
OverlayFS एक यूनियन फ़ाइलसिस्टम है जिसका उपयोग कई डायरेक्ट्री ट्री को एक एकीकृत दृश्य में संयोजित करने के लिए किया जाता है। इसका भारी उपयोग इसमें होता है:
OverlayFS में शामिल हैं:
जब निचली परत से एक फ़ाइल संशोधित की जाती है, OverlayFS एक कॉपी-अप ऑपरेशन करता है: फ़ाइल को ऊपरी परत में कॉपी किया जाता है और फिर वहाँ संशोधित किया जाता है।
भेद्यता OverlayFS द्वारा कॉपी-अप के दौरान फ़ाइल मेटाडेटा को कैसे संभाला जाता है में निहित है, विशेष रूप से:
CAP_SETUID)nosuid माउंट विकल्पों के साथ अंतःक्रियाप्रभावित कर्नेल संस्करणों में:
nosuid निचली परत से फ़ाइलों की प्रतिलिपि बनाते समय क्षमताओं को ठीक से हटाने में विफल रहता है।यह इस सुरक्षा धारणा को तोड़ता है कि nosuid माउंट विशेषाधिकार वृद्धि को रोकते हैं।
CVE-2023-0386_POC/
├── exp.c # मुख्य एक्सप्लॉइट लॉजिक
├── fuse.c # उपयोगकर्ता-स्थान फ़ाइलसिस्टम सहायक (FUSE)
├── getshell.c # विशेषाधिकार वृद्धि पेलोड
├── ovlcap/ # OverlayFS क्षमता परीक्षण उपयोगिताएँ
│ ├── Makefile
│ └── ...
├── Makefile # शीर्ष-स्तरीय बिल्ड निर्देश
└── README.md
nosuid निचली परत का अनुकरण किया जा सके।gccmakelibfuse-dev (या समतुल्य)libcap-dev (या समतुल्य)git clone https://github.com/dragosbanica/CVE-2023-0386_POC.git
cd CVE-2023-0386_POC
make all
दो टर्मिनल खोलें और पहले में टाइप करें
./fuse ./ovlcap/lower ./gc
दूसरे टर्मिनल में टाइप करें
./exp