Se han revelado varias vulnerabilidades de seguridad de hace décadas en el paquete needrestart instalado de forma predeterminada en Ubuntu Server (desde la versión 21.04) que podrían permitir a un atacante local obtener privilegios de root sin requerir la interacción del usuario.

La Unidad de Investigación de Amenazas de Qualys (TRU), que identificó y reportó las fallas a principios del mes pasado, dijo que son fáciles de explotar, lo que requiere que los usuarios actúen rápidamente para aplicar las correcciones. Se cree que las vulnerabilidades existen desde la introducción del soporte de intérprete en needrestart 0.8 , que se lanzó el 27 de abril de 2014.

“Estas vulnerabilidades que requieren reinicio permiten la escalada de privilegios locales (LPE), lo que significa que un atacante local puede obtener privilegios de root”, afirmó Ubuntu en un aviso, señalando que se han solucionado en la versión 3.8. “Las vulnerabilidades afectan a Debian, Ubuntu y otras distribuciones de Linux”.

Needrestart es una utilidad que escanea un sistema para determinar los servicios que deben reiniciarse después de aplicar actualizaciones de la biblioteca compartida de manera tal que se evite un reinicio completo del sistema.

Los cinco defectos se enumeran a continuación:

  • CVE-2024-48990 (puntuación CVSS: 7,8): una vulnerabilidad que permite a atacantes locales ejecutar código arbitrario como root engañando a needrestart para que ejecute el intérprete de Python con una variable de entorno PYTHONPATH controlada por el atacante.
  • CVE-2024-48991 (puntuación CVSS: 7,8): una vulnerabilidad que permite a atacantes locales ejecutar código arbitrario como root al ganar una condición de carrera y engañar a needrestart para que ejecute su propio intérprete de Python falso.
  • CVE-2024-48992 (puntuación CVSS: 7,8): una vulnerabilidad que permite a atacantes locales ejecutar código arbitrario como root engañando a needrestart para que ejecute el intérprete de Ruby con una variable de entorno RUBYLIB controlada por el atacante.
  • CVE-2024-11003 (puntuación CVSS: 7,8) y CVE-2024-10224 (puntuación CVSS: 5,3): dos vulnerabilidades que permiten a un atacante local ejecutar comandos de shell arbitrarios como root aprovechando un problema en el paquete libmodule-scandeps-perl (anterior a la versión 1.36)
  • La explotación exitosa de las deficiencias mencionadas anteriormente podría permitir a un atacante local establecer variables de entorno especialmente diseñadas para PYTHONPATH o RUBYLIB que podrían resultar en la ejecución de código arbitrario que apunte al entorno del actor de la amenaza cuando se ejecuta needrestart.

“En CVE-2024-10224, […] la entrada controlada por el atacante podría provocar que el módulo Perl Module::ScanDeps ejecute comandos de shell arbitrarios al abrir una ‘molesta tubería’ (por ejemplo, al pasar ‘commands|’ como nombre de archivo) o al pasar cadenas arbitrarias a eval()”, señaló Ubuntu.

“Por sí solo, esto no es suficiente para la escalada de privilegios locales. Sin embargo, en CVE-2024-11003, needrestart pasa la entrada controlada por el atacante (nombres de archivos) a Module::ScanDeps y activa CVE-2024-10224 con privilegios de root. La solución para CVE-2024-11003 elimina la dependencia de needrestart de Module::ScanDeps”.

Si bien se recomienda encarecidamente descargar los parches más recientes, Ubuntu dijo que los usuarios pueden deshabilitar los escáneres de intérpretes si es necesario, reiniciar el archivo de configuración como mitigación temporal y asegurarse de que los cambios se reviertan después de que se apliquen las actualizaciones.

“Estas vulnerabilidades en la utilidad needrestart permiten a los usuarios locales aumentar sus privilegios ejecutando código arbitrario durante las instalaciones o actualizaciones de paquetes, donde needrestart a menudo se ejecuta como usuario root”, dijo Saeed Abbasi, gerente de producto de TRU en Qualys.

“Un atacante que aproveche estas vulnerabilidades podría obtener acceso root, comprometiendo la integridad y seguridad del sistema”.

Fuente: thehackernews.com