Bienvenido al blog de Undercode   Click to listen highlighted text! Bienvenido al blog de Undercode

Vulnerabilidad en GNOME Display Manager

Una vulnerabilidad en GNOME Display Manager (gdm) podría permitir a un usuario estándar crear cuentas con mayores privilegios, dando a un atacante local una ruta para ejecutar código con permisos de administrador (root).

Aunque ciertas condiciones son necesarias, el error es fácil de explotar. El proceso implica ejecutar algunos comandos simples en la terminal y modificar la configuración general del sistema que no requiere mayores derechos.

Agregar nuevo administrador

La explotación del error en gdm3 aprovecha el bloqueo del componente AccountsService, que realiza un seguimiento de los usuarios disponibles en el sistema.

Además de manejar los administradores de visualización gráfica, gdm3 también es responsable de mostrar la interfaz de inicio de sesión del usuario en sistemas operativos similares a Unix.

El investigador de seguridad de GitHub, Kevin Backhouse, descubrió una forma sencilla de engañar a un sistema Ubuntu ya configurado para que ejecute la rutina de configuración de la cuenta para un nuevo sistema. Este escenario requiere una cuenta de administrador para configurar la máquina e instalar aplicaciones.

Acerca de ti

El investigador descubrió que ‘gdm3’ desencadenaba esta secuencia cuando el ‘daemon de cuentas’ del componente AccountsService no se estaba ejecutando. Un usuario estándar no debería poder detenerlo.

Sin embargo, Backhouse descubrió  dos vulnerabilidades  en AccountsService que provocaron que el componente se bloqueara (CVE-2020-16127) y eliminara los privilegios de la cuenta de usuario (CVE-2020-16126), lo que permitió a un usuario estándar bloquear el demonio enviándole una señal de falla de segmentación retrasada. ( matar -SIGSEGV ).

El retraso es necesario para dar tiempo a cerrar sesión en la sesión actual o el usuario está bloqueado.

Estas dos vulnerabilidades afectan a Ubuntu 20.10, Ubuntu 20.04, Ubuntu 18.04 y Ubuntu 16.04.

Para CVE-2020-16127, el investigador explica en una  publicación de blog de  hoy que fue causado por el código agregado a la versión de AccountService de Ubuntu que no existe en la versión original mantenida por  freedesktop :

“El parche de Ubuntu agrega una función llamada  is_in_pam_environment , que busca un archivo llamado .pam_environment en el directorio de inicio del usuario y lo lee. La vulnerabilidad de denegación de servicio funciona al convertir .pam_environment en un  enlace simbólico  a / dev / zero. / dev / zero  es un archivo especial que en realidad no existe en el disco. Lo proporciona el sistema operativo y se comporta como un archivo infinitamente largo en el que cada byte es cero. Cuando is_in_pam_environment intenta leer .pam_environment, el enlace simbólico lo redirige a / dev / zero y luego se atasca en un bucle infinito porque / dev / zero es infinitamente largo ”-  Kevin Backhouse, Laboratorio de seguridad de GitHub

Su activación fue posible haciendo una modificación en la Configuración del sistema que no requería privilegios elevados. Backhouse decidió cambiar el idioma.

Sin el servicio de cuentas en ejecución, gdm3 no tiene ni idea de las cuentas presentes en la máquina y ofrece la opción de crear una nueva con privilegios de root, como en el caso de una configuración inicial.

Este error ahora se registra como  CVE-2020-16125  y se clasifica con una puntuación de gravedad alta de 7,2 sobre 10. Afecta a Ubuntu 20.10, Ubuntu 20.04 y Ubuntu 18.04.

Backhouse creó un video que muestra lo fácil que fue para él explotar la vulnerabilidad gdm3 en Ubuntu 20.04:

Backhouse publicó el lunes informes separados para estas tres vulnerabilidades [ 1 ,  2 ] que ofrecen detalles técnicos. Los informó a los mantenedores de Ubuntu y GNOME el 17 de octubre, y las correcciones están disponibles en el código más reciente.

 

Fuente: Bleepingcomputer

Comentarios

comentarios

Dragora

Posts Relacionados

Leave a Reply

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Click to listen highlighted text!