
استغلال تصعيد الامتيازات المحلية لثغرة CVE-2021-4034 في pkexec، يوفّر إثباتًا للمفهوم يمنح صلاحيات الجذر (root shell) على الأنظمة المعرّضة للخطر.
يحتوي هذا المستودع على استغلال لثغرة CVE-2021-4034، وهي ثغرة تصعيد امتيازات محلية في pkexec. يعتمد هذا التنفيذ على ما تم وصفه في الإفصاح عن الثغرة، والذي يجب عليك قراءته.
إذا نجح هذا الاستغلال على جهازك، فهذا يعني أنك عرضة للثغرة. لمعالجة ذلك، إما قم بتحديث polkit إلى إصدار مصحح، أو قم بتعطيل بت setuid على pkexec باستخدام الأمر التالي:
$ sudo chmod a-s $(which pkexec)
هذا الاستغلال سهل الكتابة بشكل خطير بناءً على المعلومات الواردة في الإفصاح، لذا قم بتصحيح جميع أجهزتك في أقرب وقت ممكن.
لتشغيل هذا الاستغلال، ما عليك سوى تشغيل 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 (تمت إضافته هنا). ومع ذلك، ليس لدي خبرة رسمية في أمن الحاسوب وقد يُبلغ أن نظامك مصحح، حتى لو كان لا يزال عرضة لهذه الثغرة أو ثغرات مشابهة أخرى. لذلك، يجب عليك التأكد من إبقاء أنظمتك محدثة، والاستماع إلى الأشخاص الذين يعرفون ما يتحدثون عنه، وتناول الخضروات دائمًا.