Un fallo de seguridad obliga a desactivar la sesión de invitado en Ubuntu

Un error en el proceso de aislamiento de las sesiones de invitado que provee el gestor LightDM, ha obligado a deshabilitarlas en algunas versiones de Ubuntu (16.10 y 17.04), afectando también a varias de sus derivadas.

Como resultado de dicho fallo de seguridad, un atacante podría acceder a archivos fuera de su directorio de huésped, incluyendo a los del resto de usuarios (excepto root).

Para comprobarlo tan solo era preciso ejecutar este comando en la terminal:

cat /proc/self/attr/current

que producía los siguientes resultados:

  • En Ubuntu 16.04 LTS (versión que no está afectada):
/usr/lib/lightdm/lightdm-guest-session (enforce)
  • Mientras que en Ubuntu 16.10 (edición que si lo está), la cosa ya cambiaba:
unconfined

Ello se debe a que el perfil de la suite de seguridad AppArmor utilizado para su contención no funciona adecuadamente con LightDM, debido a un problema de compatibilidad con el sistema de inicio systemd (recordemos que en ediciones anteriores usaban upstart).

La anomalía se detectó a principios de febrero y fue tratada de forma confidencial, hasta hace unos días que el equipo de seguridad decidió que la solución más sencilla pasaba por la desactivación de dicha función ( LightDM-guest-sesión), lanzando las actualizaciones de seguridad correspondientes.

Mientras tanto se sigue trabajando en como añadir dicho perfil de AppArmor a systemd, por lo que no se descarta que esta característica pueda volver a ser introducida más adelante.

Seguramente os llame la atención los tres meses que transcurrieron sin que se solucionara este problema. La vulnerabilidad (CVE-2017-8900) estaba clasificada como de tipo “medium”, supongo que debido a que es necesario el acceso físico a la máquina para poderlo explotar y una vez ahí, lo único que nos libra de cualquier tipo de ataque es el cifrado completo del sistema.

Habrá que ver si este bug influye en la decisión de Canonical de mantener a LightDM como gestor de sesiones (les interesa también por el asunto de la personalización que proporciona su sistema de greeters) en futuras ediciones, o por el contrario decantarse por GDM que el es gestor de sesiones predeterminado de GNOME, pero que no incluye dichas sesiones de invitado.

Vía | OMG!Ubuntu!

14 thoughts on “Un fallo de seguridad obliga a desactivar la sesión de invitado en Ubuntu”

  1. cesarpachon says:

    una pequeña corrección el comando es:
    cat /proc/self/attr/current

  2. kbird says:

    Espero que mantengan LightDM. Las sesiones de invitado son imprescindibles para mi y junto a las fuentes es uno de los principales motivos por los que estoy en Ubuntu.

    Que feo ver como ha estado muriendo poco a poco lo que era Ubuntu.

  3. tannhausser says:

    Gracias por la corrección! Se me había colado un cat por el medio

  4. Dani says:

    Mal momento con el pánico por la seguridad a flor de piel. Me hago la misma pregunta: Si ubuntu dejará caer LightDM a favor del mainstream y la diferencia con otras distros comerciales será puramente económica.

  5. Almansa says:

    ¿De quién es el problema?, solo diré una cosa, ¿alguien ha probado Devuan?, tarda menos y nada en arrancar, y no usa systemd, ahí lo digo y ahí lo dejo xD.

    1. Octavio Halle says:

      Si, está presente en la distro GNU/Etertics con la cual gestionamos la emisión y automatización de una emisora de radio en frecuencia modulada.

  6. Jolt2bolt says:

    Systems es el problema. Siempre lo ha Sido. Un system init que quiere ser todo excepto un system init o sea una aberrante quimera que a duras penas funciona y excesivamente complejo para lo que supuestamente debería hacer. Que funcione es un milagro en si. He probado otros internet como openrc y runit y hasta ahora el único que ha hecho mi vida cuadritos es el systemd

  7. Felipe says:

    Otra vez entra en colación Systemd , lástima que el gran jefe : Linus Torvalds le haya dado luz verde y en cierta manera incentivar a los creadores de dicha aberración para que sigan trabajando en su Frankenstein.

  8. robotito says:

    Estoy en Elementary OS Loki, con base en Ubuntu 16.04

    Tiro “cat /proc/self/attr/current” y me da “undefined”

    Desde la cuenta de invitado puedo hacer un cd a otra cuenta pero no hacer un ls, por lo tanto tengo permisos de ejecución en los directorios pero no permiso de lectura ¿?

    1. Dani says:

      Probablemente así es:

      $ ls -l /home

  9. robotito says:

    Completo el comentario anterior, cree un fichero en el home de un usuario, desde la sesión de invitado ingrese ese home (cd), al intentar borrar ese fichero no tuve permisos, por lo tanto el problema no esta en Elementary o hay que hacer algo mas para explotarlo. Saludos.

    1. tannhausser says:

      Elementary OS Loki (supongo que es la versión que tienes) está basada en Ubuntu 16.04 LTS, así que no deberías estar afectado por dicho bug.
      Un saludo!

    2. Dani says:

      IMHO, no creo que este sitio sea adecuado para obtener ayuda técnica, sí para informar. Debería dirigirse a los foros de aquella distribución y sobre todo mantener al día las actualizaciones de su sistema. De cualquier modo el administrador sabrá.

      Indica que creó un archivo en la carpeta home de otro usuario, ¿desde el login del usuario de esa home, y que luego intentó borrarlo desde el login de Invitado?, ¿cómo sin acceder al contenido de la carpeta, desde la consola con rm?

      El caso anterior es un funcionamiento normal, lo extraño sería que desde Invitado pueda escribir en otra home pero no borrar; no veo la combinación de permisos que haga esto posible incluso utilizando el sticky-bit.

      Si le preocupa, eliminando el permiso de ejecución debería solucionar el funcionamiento no deseado pero normal y de lo contrario deberia esperar que su sistema fuera parcheado.

      1. robotito says:

        Explico un poco:

        Según el post si yo tiro un “cat /proc/self/attr/current” y me da como resultado “undefined” estoy expuesto a la vulnerabilidad (el usuario invitado puede acceder a los home de otros usuarios. En mi caso, en Elementary Loki (basado en Ubuntu 16.04) da ese resultado, sin embargo no puedo leer ni escribir en el home de otro usuario, puedo ingresar a esos directorios (permiso de ejecución en el directorio), pero no puedo leer (ls) ni escribir (rm). Cree un fichero el el directorio de un usuario, desde la sesión de invitado hice un cd hasta ahí e intente borrar ese fichero (ya que sabia que estaba ahí) pero no tuve permisos. Por lo tanto la vulnerabilidad no aplica en la ultima versión de Elementary. Espero se entienda, saludos.

Deja un comentario