3 de mayo de 2015

UBUNTU. Fallo de seguridad relativo al reloj del sistema permitiría escalada de privilegios

¿Bug o Feature? Esta es la cuestión que se lleva debatiendo en LaunchPad desde hace algo más de año y medio, primero de forma privada y desde hace unas horas ya de forma pública, después de que se reportara que bajo determinadas circunstancias un intruso que accediera a la sesión abierta de un usuario, podría escalar privilegios y hacerse con sudo, sin necesidad de autenticarse como administrador del sistema.
Recursos afectados
  • Es un error que afectaría a todos los sistemas Ubuntu existentes desde Ubuntu 12.04 LTS hasta Ubuntu 15.04 (también en OS X) y con diferentes escritorios (Unity, Cinnamon, GNOME, KDE…), el cual se debería a una configuración peculiar en Ubuntu, la cual permite a los usuarios (administradores) cambiar el reloj del sistema, en cualquier momento sin introducir la contraseña de root.
Detalle de la vulnerabilidad
  • Esta relajación respecto a las políticas de permisos se establece en un archivo del directorio var/lib/polkit.
  • Y trae como consecuencia que un usuario con malas intenciones podría saltarse la seguridad de sudo, ganando acceso sin necesidad de conocer la contraseña, simplemente lanzando una terminal y accediendo al archivo “/var/log/auth.log” ejecutando cat /var/log/auth.log
  • Una vez ahí, podría sacar provecho de esa información para ver cuando fue la última vez que se ejecutó SUDO y desde que pseudo-terminal (PTY), para a continuación establecer la hora del sistema y obtener control completo del ordenador ejecutando:  sudo -s
  • Sin embargo el error no es fácilmente explotable, dado que sería preciso que el intruso accediera de forma local (según Mark Smith, la persona que reportó el bug, en OS X sería posible hacerlo de forma remota) a la sesión de un usuario que hubiera dejado la sesión abierta y sin bloquear su equipo.
  • Seguramente a nivel de usuario corriente no tenga demasiada importancia, pero podría tenerlo en algunos entornos corporativos en los que prima la seguridad.
  • Sea como fuere en Reddit hay una interesante discusión al respecto, en la que también participa el desarrollador de Ubuntu encargado del bug, junto al usuario que lo reportó.
  • En ella se discute sobre si debe primar la seguridad o la facilidad de uso en distribuciones como Ubuntu y nos recuerdan aquella vieja polémica de Linus y la política de seguridad de openSUSE respecto a las impresoras.
  • En todo caso más que un problema de si un usuario debe o no poder acceder a cambiar la hora del sistema sin poner una contraseña (que vamos, tampoco es tanto trabajo y no es algo que se haga todos los días…), es como configurar eso sin dar lugar a una escalada de privilegios.
Recursos no afectados
  • Por cierto ninguna versión de Debian ha estado afectada en ningún momento por este bug. De hecho Debian Jessie incluye una versión más moderna (1.8.10p3-1) de sudo que la de Ubuntu, todavía anclada en 1.8.9.5.
  • Y ya no hablemos de distros rolling release como openSUSE Tumbleweed (1.8.12, aunque ahí somos más de “su”) o Arch Linux (1.8.13)…aunque repito en este caso no parece que el hecho sea imputable a sudo, sino a la configuración de permisos del sistema realizada en Ubuntu.
Fuente: lamiradadelreplicante.com