
PoC تعليمي لـ CVE-2021-4034، وهو PwnKit، تصعيد الامتيازات المحلية (LPE) عبر pkexec من polkit. للاستخدام المصرح به فقط.
إثبات مفهوم لـ PwnKit، وهو تصعيد امتيازات محلي في pkexec الخاص بـ polkit. في التثبيت الافتراضي، يمكن لأي مستخدم محلي غير مميز أن يصبح root.
الإصدارات المعرضة للخطر من pkexec تسيء التعامل مع عدد وسائط العملية. وهذا يسمح بإعادة إدخال متغيرات بيئة خاضعة للتحكم في بيئة pkexec، مما يؤدي في النهاية إلى تشغيل كائن مشترك يتحكم فيه المهاجم بصلاحيات root. تم الكشف عنها في 25 يناير 2022 من قبل فريق أبحاث Qualys وتُقيَّم بدرجة 7.8 عالية على CVSS v3.1. الإدخال في NVD هو CVE-2021-4034.
عمليًا، تأثر كل إصدار من polkit منذ 2009 حتى الإصلاح المنسق. وزعت التوزيعات حزمًا مصححة في تاريخ الكشف أو بعده، لذا حافظ على تحديثات موردك حديثة.
هذا مرجع تعليمي لثغرة موثقة جيدًا وكُشف عنها علنًا. أستخدمه لدراسة خلل معالجة وسائط pkexec، وللتحقق من حالة التصحيح في المختبرات والتقييمات المصرح بها، وللاحتفاظ بملاحظات الكشف والمعالجة.
قم بتشغيل هذا فقط على أنظمة تملكها أو مخول لاختبارها.
gcc cve-2021-4034-poc.c -o cve-2021-4034-poc
./cve-2021-4034-poc
على مضيف معرض للخطر، يمنحك وصولًا إلى شل root. تم التحقق منه على Debian 10 buster وCentOS 7.
صحيح polkit وpkexec إلى الإصدار المصحح لتوزيعتك. إذا لم تتمكن من التصحيح فورًا، قم بإزالة بِت SUID باستخدام chmod 0755 على ثنائي pkexec، متقبلًا أنك تفقد تفويض الامتيازات في pkexec. للكشف، قم بالتنبيه على عمليات تشغيل pkexec مع argv فارغ أو مع بيئة غريبة مثل GCONV_PATH أو CHARSET أو SHELL قبل ظهور شل root مباشرة.
تم العثور على الثغرة والإفصاح عنها بمسؤولية من قبل فريق أبحاث Qualys.
نشرة oss-security: https://seclists.org/oss-sec/2022/q1/80
يُنشر هذا الكود فقط للدراسة والاختبارات الأمنية المصرح بها. تشغيله ضد أنظمة لا تملكها أو ليس لديك إذن كتابي لاختبارها غير قانوني ويمكن أن يستتبع مسؤولية جنائية ومدنية. استخدمه في مختبراتك الخاصة أو ضمن نطاق مهمة موقعة. أنت مسؤول عن ما تفعله به.