Volver al inicio

CVE-2024-48990: LPE en Needrestart Linux

Vulnerabilidad CVE-2024-48990 en Needrestart permite LPE vía manipulación de PYTHONPATH. Análisis del mecanismo, explotación PoC y parcheo para Ubuntu, Debian. Recomendaciones de protección de servidores.

LPE vía Needrestart: CVE-2024-48990 en detalle
Advertisement 728x90

Escalada de privilegios en Linux mediante la vulnerabilidad CVE-2024-48990 en Needrestart

La vulnerabilidad CVE-2024-48990 permite la escalada local de privilegios (LPE) en la utilidad Needrestart en versiones hasta la 3.8. El problema radica en el manejo de la variable de entorno PYTHONPATH, lo que permite la ejecución de código arbitrario con privilegios de root. Afecta a Ubuntu 21.04 y posteriores, Debian, Fedora y otras distribuciones de Linux. Puntuación CVSS: 7.8.

Needrestart escanea procesos después de actualizaciones de bibliotecas y reinicia servicios vulnerables. El ataque explota controles inadecuados en las rutas de carga de módulos para Python, Perl y Ruby, sustituyéndolas por unas maliciosas.

Comprobación de la vulnerabilidad en el sistema

Ejecuta este comando para comprobar la versión:

Google AdInline article slot
needrestart --version | grep -q "3.7" && echo "Definitely vulnerable" || echo "Version is potentially not vulnerable, this simply checks for 3.7"

Las versiones inferiores a 3.8 son vulnerables. La utilidad se ejecuta automáticamente durante la instalación de paquetes mediante apt, creando una ventana de explotación.

Explotación paso a paso

Para la demostración, usa el PoC público. Clona el repositorio y ejecuta el script como un usuario normal:

cd CVE-2024-48990-PoC-Testing
./runner.sh

El script establece PYTHONPATH en un módulo malicioso. Luego, como root o mediante sudo, realiza una acción que active Needrestart, como:

Google AdInline article slot
sudo apt remove ntp; sudo apt install ntp

Esto lleva a la ejecución de código con privilegios de root, abriendo una shell inversa o acceso directo.

Detalles técnicos del ataque

La vulnerabilidad ocurre durante el análisis de PYTHONPATH: Needrestart no valida las rutas, permitiendo la inyección de un módulo cargado con privilegios elevados. Lo mismo aplica a PERL5LIB y RUBYLIB.

  • El atacante establece PYTHONPATH=/path/to/malicious.
  • Needrestart importa el módulo desde la ruta especificada durante el escaneo.
  • La carga útil se ejecuta con privilegios de root.

Requiere acceso local y la invocación de Needrestart por otro usuario (sudo).

Google AdInline article slot

Medidas de protección y parcheo

  • Actualiza a Needrestart 3.8 o posterior: vulnerabilidad corregida con validación mejorada de variables de entorno.
  • Desactiva el escaneo de intérpretes en /etc/needrestart/needrestart.conf:

```

$nrconf{interpscan} = 0;

```

  • Monitorea variables de entorno usando auditd o falco.
  • Usa AppArmor o SELinux para restringir Needrestart.

Puntos clave

  • CVE-2024-48990 se explota mediante PYTHONPATH sin acceso root inicial.
  • Afecta a servidores Ubuntu 21.04+, Debian, Fedora con Needrestart activado por defecto.
  • Parche en la versión 3.8: validación completa de rutas de módulos.
  • Recomendado: desactiva interpscan para minimizar riesgos.
  • Prueba actualizaciones en un entorno aislado antes del despliegue.

— Editorial Team

Advertisement 728x90

Leer después