
CVE-2017-5123 कर्नेल भेद्यता का पुनरुत्पादन जो waitid syscall मेमोरी राइट के माध्यम से स्थानीय विशेषाधिकार वृद्धि की अनुमति देता है, जिसे Linux 4.13 पर Docker कंटेनर एस्केप के साथ प्रदर्शित किया गया है।
नोट: इस रेपो में कोड सुरक्षित पॉड सैंडबॉक्स प्रौद्योगिकियों जैसे kata containers के अलगाव को प्रदर्शित करने के लिए है और इसका उद्देश्य किसी भी प्लेटफॉर्म पर हमला नहीं करना है।
echo 0 > /proc/sys/kernel/kptr_restrict
cat /proc/kallsyms
(gdb) p &(((struct task_struct *)0)->fs)
(gdb) p &(((struct task_struct *)0)->parent)
(gdb) p &(((struct fs_struct *)0)->root)
अपस्ट्रीम कर्नेल में waitid कार्यान्वयन ने सूचना परिणामों को कॉपी करने के लिए लक्ष्य गंतव्य को प्रतिबंधित नहीं किया। यह स्थानीय उपयोगकर्ताओं को अन्यथा संरक्षित कर्नेल मेमोरी में लिखने की अनुमति दे सकता है, जो विशेषाधिकार वृद्धि का कारण बन सकता है।
यह बग 2017-05-21 को पेश किया गया था और 2017-10-09 को ठीक किया गया।
यह CVE पहले से ही 4.13 शाखा के बाद के रिलीज़ और नए मेनलाइन कर्नेल में ठीक किया जा चुका है। हालांकि, इसी प्रकार के CVE मौजूद हो सकते हैं जो विशेषाधिकार वृद्धि की अनुमति देते हैं। यह CVE स्वयं वास्तव में प्रसिद्ध dirty cow, CVE-2016-5195 के समान है।
CVE-2017-5123.c इस कमजोरी का उपयोग /proc/sys/vm/mmap_min_addr के मान को बदलने के लिए करता है। फिर लिनक्स कर्नेल को होस्ट रूट की फ़ाइल एक्सेस अनुमति प्राप्त करने के लिए शेलकोड कॉल करने देता है।