Escalado de privilegios en varias versiones de Ubuntu

0

Ubuntu Vivid Velvet

Existe una vulnerabilidad que permite escalado de privilegios en una serie de versiones del sistema operativo Ubuntu. Este fallo es de criticidad alta y viene provocado por el fallo del sistema al comprobar los permisos que tiene cada usuario, aunque se da en una serie de circunstancias específicas.

Elevación de privilegios en Ubuntu

El investigador Philip Pettersson descubrió la vulnerabilidad y la reportó inmediatamente a Canonical (la empresa desarrolladora de Ubuntu). La empresa propietaria del sistema operativo basado en Unix ya ha lanzado una actualización de seguridad.

Este error de configuración de permisos del sistema está presente en las versiones:

  • Ubuntu 12.04
  • Ubuntu 14.04
  • Ubuntu 14.10
  • Ubuntu 15.04

Detalles

En el caso de que un hacker consiga explotar la vulnerabilidad podría obtener un Shell con privilegios ROOT en el equipo objetivo. Esta vulnerabilidad está presente en la función de Ubuntu denominada Overlayfs, un sistema de archivos que está diseñado para poder ser escrito en casos en los que el entorno es de sólo lectura para el usuario.

El sistema de archivos Overlayfs no comprueba correctamente los permisos  cuando se crean ficheros en el sistema de archivos superior. Esto puede ser explotado por un proceso sin privilegios, contenido en el kernel con CONFIG_USER_NS=y, donde Overlayfs tiene la propiedad FS_USERNS_MOUNT. Esta permite el montaje de la función overlayfs dentro de un espacio montado sin privilegios.

Digamos que esta configuración descrita es la que viene de manera predefinida en las versiones de Ubuntu anteriormente citadas.

Prueba de concepto incluída

Pettersson ha desarrollado y publicado una prueba de concepto quenos permite ver la vulnerabilidad de Ubuntu, y como esta facilita una shell con root al usuario interesado. Un atacante tendría además la posibilidad de obtener una lista de contenidos de cualquier directorio de la máquina, sin importar sus permisos.

Las funciones ovl_copy_up no comprueban correctamente los permisos del usuario antes de que escriba en el directorio superior (en la jerarquía de archivos). Los únicos permisos que son comprobados se dan en caso de que el dueño del archivo -que está siendo modificado- tenga permiso de escritura en el nivel superior. Más allá, cuando un archivo es copiado desde el nivel inferior, los metadatos del  archivo son copiados, en lugar de cambiar los atributos como el “dueño” al usuario que lanzó el proceso de copy_up_*

 

Compartir.

Sobre el Autor

Alejandro es técnico micro-informático, experto en seguridad de las TIC y apasionado de la tecnología. Colabora habitualmente en diferentes publicaciones de seguridad, software y análisis de hardware entusiasta.

Dejar una Respuesta

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR