Ubuntu Linux, ampliamente utilizado en servidores y entornos de desarrollo, se ha visto afectado por vulnerabilidades críticas en la utilidad needrestart, una herramienta introducida por defecto desde la versión 21.04. Estas fallas, rastreadas como CVE-2024-48990, CVE-2024-48991, CVE-2024-48992, CVE-2024-10224, y CVE-2024-11003, tienen una década de antigüedad y pueden permitir a atacantes locales escalar privilegios a nivel de root.
Descubiertas por el equipo de seguridad de Qualys, estas vulnerabilidades resaltan la importancia de mantener configuraciones seguras y actualizadas en sistemas críticos.
La herramienta needrestart se utiliza comúnmente en distribuciones Linux para identificar servicios que necesitan reiniciarse tras una actualización, garantizando que las bibliotecas compartidas en ejecución sean las más recientes. Desde su introducción en la versión 0.8 en abril de 2014, la herramienta ha sido vulnerable, y no fue hasta su actualización a la versión 3.8 en noviembre de 2024 que se parchearon estos errores.
Desglose de las Vulnerabilidades
Estas fallas permiten a atacantes con acceso local al sistema obtener privilegios de administrador sin interacción del usuario. A continuación, un resumen de los CVEs relacionados:
- CVE-2024-48990:
- Causa: Uso indebido de la variable PYTHONPATH.
- Impacto: Permite ejecutar código arbitrario al inicializar Python con una biblioteca maliciosa.
- CVE-2024-48992:
- Causa: Uso inseguro de la variable RUBYLIB por el intérprete de Ruby.
- Impacto: Ejecuta código Ruby malicioso como root.
- CVE-2024-48991:
- Causa: Condición de carrera en la validación del intérprete Python.
- Impacto: Un atacante puede reemplazar el binario de Python por un ejecutable malicioso.
- CVE-2024-10224:
- Causa: Manejo inadecuado de nombres de archivo en el módulo ScanDeps de Perl.
- Impacto: Ejecuta comandos arbitrarios al procesar archivos especialmente diseñados.
- CVE-2024-11003:
- Causa: Uso inseguro de la función eval() en ScanDeps.
- Impacto: Ejecución de código arbitrario con entradas controladas por el atacante.
Mitigación y Soluciones
Para proteger los sistemas afectados, se recomienda:
- Actualizar a la Versión 3.8 o Superior de needrestart
Los parches están disponibles para todas las vulnerabilidades mencionadas. La actualización asegura la eliminación de los vectores de ataque conocidos. - Deshabilitar Escaneo de Intérpretes en needrestart
Modificar el archivo de configuración needrestart.conf para prevenir la ejecución de intérpretes con variables de entorno controladas por atacantes. Añada lo siguiente al archivo de configuración: - Deshabilitar el escaneo de intérpretes. perl#
$nrconf{interpscan} = 0;
- Revisión de Accesos Locales
Limitar el acceso local mediante políticas estrictas de autenticación y monitoreo de actividades sospechosas.
Aunque estas vulnerabilidades requieren acceso local para ser explotadas, su impacto no debe subestimarse. La combinación de la amplia adopción de Ubuntu Linux y la larga exposición de esta herramienta vulnerable podría facilitar ataques dirigidos a sistemas críticos. Actualizar y aplicar configuraciones seguras es esencial para mitigar riesgos y proteger la integridad de los servidores Linux.