
Los desarrolladores de Ubuntu han solucionado una serie de vulnerabilidades que han facilitado que los usuarios estándar obtengan privilegios de root codiciados.
“Esta publicación de blog trata sobre una manera sorprendentemente simple de aumentar los privilegios en Ubuntu”, escribió Kevin Backhouse, investigador de GitHub, en una publicación publicada el martes. “Con unos pocos comandos simples en el terminal y unos pocos clics del mouse, un usuario estándar puede crear una cuenta de administrador para sí mismo”.
El primer conjunto de comandos desencadenó un error de denegación de servicio en un demonio llamado servicio de cuentas, que, como sugiere el nombre, se usa para administrar cuentas de usuario en la computadora. Para hacer esto, Backhouse creó un enlace simbólico que vinculaba un archivo llamado .pam_environment a / dev / zero, cambió la configuración de idioma regional y envió un SIGSTOP al servicio de la cuenta. Con la ayuda de algunos comandos adicionales, Backhouse pudo configurar un temporizador que le dio suficiente tiempo para cerrar sesión en la cuenta antes de que el servicio de la cuenta fallara.
Cuando se hace correctamente, Ubuntu se reinicia y abre una ventana que permite al usuario crear una nueva cuenta que, como se esperaba, tiene privilegios de root. Aquí hay un video del ataque Backhouse en acción.
Escalada de privilegios locales de Ubuntu 20.04 usando vulnerabilidades en gdm3 y accountsservice
Backhouse afirmó que Ubuntu usa una versión modificada de servicio de cuentas que contiene código no incluido en la versión anterior. El código adicional busca el archivo .pam_environment en el directorio de inicio. Al convertir el archivo en un enlace simbólico a / dev / zero, .pam_environment se bloquea en un bucle infinito.
El segundo error involucrado en el hack estaba en el administrador de pantalla de GNOME, que administra las sesiones de usuario y la pantalla de inicio de sesión, entre otras cosas. El administrador de pantalla, que a menudo se abrevia a gdm3, también activa la configuración inicial del sistema operativo cuando detecta que actualmente no hay usuarios.
“¿Cómo comprueba gdm3 cuántos usuarios hay en el sistema?” Backhouse preguntó retóricamente. “Probablemente ya lo hayas adivinado: ¡pidiendo cuenta-demonio! Entonces, ¿qué sucede si account-daemon no responde? El código relevante está aquí. “
Las vulnerabilidades solo podían activarse cuando alguien tenía acceso físico y una cuenta válida en una máquina vulnerable. Solo funcionó en las versiones de escritorio de Ubuntu. Los encargados del sistema operativo de código abierto solucionaron los errores la semana pasada. Backhouse, que afirmó haber encontrado las vulnerabilidades por accidente, tiene muchos más detalles técnicos en la publicación del blog vinculada anteriormente.