
CVE-2021-4034 के pkexec में स्थानीय विशेषाधिकार वृद्धि (local privilege escalation) शोषण, जो एक proof-of-concept प्रदान करता है और कमजोर सिस्टम पर रूट शेल प्राप्त करता है।
इस रिपॉजिटरी में CVE-2021-4034 का एक शोषण शामिल है, जो pkexec में एक स्थानीय
विशेषाधिकार वृद्धि है। यह कार्यान्वयन CVE
प्रकटीकरण में वर्णित
विधि पर आधारित है, जिसे आपको पढ़ना चाहिए।
यदि यह आपकी मशीन पर काम करता है, तो इसका मतलब है कि आप असुरक्षित हैं। इसे संबोधित
करने के लिए, या तो polkit को पैच किए गए संस्करण में अपडेट करें, या निम्नलिखित के साथ
pkexec पर setuid बिट को अक्षम करें:
$ sudo chmod a-s $(which pkexec)
यह शोषण प्रकटीकरण में दी गई जानकारी के आधार पर लिखना खतरनाक रूप से आसान है, इसलिए अपनी सभी मशीनों को ASAP पैच करें।
इस शोषण को चलाने के लिए, शीर्ष स्तर की निर्देशिका में बस make चलाएँ।
यह निम्नलिखित करेगा:
exploit.c संकलित करेगा, जो शोषण चलाता हैgconv/badconv.c संकलित करेगा, जिसमें पेलोड होता है./exploit चलाएगायदि यह आपको रूट के रूप में एक शेल में डालता है, तो आपका सिस्टम असुरक्षित है।
यदि आपको निम्नलिखित आउटपुट मिलता है, तो आपने उपरोक्त chmod कमांड का उपयोग करके
इस बग को सफलतापूर्वक कम कर दिया है:
Running exploit...
GLib: Cannot convert message: Could not open converter from “UTF-8” to “ZT”
pkexec must be setuid root
यदि आपको आउटपुट के रूप में pkexec सहायता संदेश मिलता है, तो आपका सिस्टम
संभवतः पहले से ही पैच किया गया था।
यह कार्यान्वयन किसी भी असुरक्षित सिस्टम पर काम करना चाहिए, जिसमें Fedora 34+ और OpenSUSE के कुछ संस्करण शामिल हैं जो कुछ कार्यान्वयनों के लिए असुरक्षित नहीं लगते हैं। विशेष रूप से, यह तब भी काम करेगा यदि आपके सिस्टम में polkit का एक संस्करण है जो GVFS को अक्षम करता है (यहाँ जोड़ा गया)। फिर भी, मेरे पास कंप्यूटर सुरक्षा का कोई औपचारिक अनुभव नहीं है और यह रिपोर्ट कर सकता है कि आपका सिस्टम पैच किया गया है, भले ही यह अभी भी इस या अन्य समान शोषणों के लिए असुरक्षित हो। इसलिए, आपको यह सुनिश्चित करना चाहिए कि आप अपने सिस्टम को अपडेट रखें, उन लोगों की सुनें जो जानते हैं कि वे किस बारे में बात कर रहे हैं, और हमेशा अपनी सब्जियाँ खाएँ।