
Il mio punto di vista su needrestart Python CVE-2024-48990
Questo semplice script di shell dovrebbe creare tutti i file necessari affinché questa vulnerabilità funzioni.
Innanzitutto crea un file temporaneo generato casualmente che verrà utilizzato per compilare il falso file __init__.so Quando la vulnerabilità viene attivata. Questo file verrà eseguito e copierà il binario di bash in /tmp/ribbit e imposterà il bit SUID. Successivamente crea la directory importlib nella directory di lavoro corrente Quindi compila il file temporaneo creato in __init__.so e lo inserisce nella directory appena creata Infine crea un altro file python temporaneo con nome casuale che resta in attesa e attende che la vulnerabilità venga attivata. Una volta attivata, eseguirà il binario bash con SUID impostato, ottenendo una shell di root.
Una volta avviato lo script python, needrestart deve essere eseguito con permessi di root. Questo avviene tipicamente quando si usa apt-get.