
Mi opinión sobre needrestart Python CVE-2024-48990
Este simple script de shell debe crear todos los archivos necesarios para que esta vulnerabilidad funcione.
Primero crea un archivo temporal generado aleatoriamente que se usará para compilar el archivo falso init.so. Cuando se activa la vulnerabilidad, este archivo se ejecutará y copiará el binario de bash a /tmp/ribbit y establecerá el bit SUID. Luego crea el directorio importlib en el directorio de trabajo actual. Luego compila el archivo temporal creado en init.so y lo coloca en el directorio recién creado. Por último, crea otro archivo Python temporal con nombre aleatorio que se duerme y espera a que se active la vulnerabilidad. Una vez activada, ejecutará el binario bash con SUID establecido, resultando en un shell de root.
Una vez que se inicia el script de Python, needrestart debe ejecutarse con permisos de root. Esto se hace típicamente cuando se usa apt-get.