CVE-2017-1000367 es una raíz severa vulnerabilidad Linux descubierto por Qualys Seguridad investigadores. La falla reside en Sudo de “get_process_ttyname()” función para Linux y podría permitir a un usuario con privilegios sudo para ejecutar comandos como root o elevar los privilegios de root.
sudo, o “superusuario hacer!,” es un programa para Linux y UNIX que permite a los usuarios estándar se ejecutan comandos específicos como usuario en superusuario o root.
CVE-2017-1000367: detalles
La función abre esta función se abre “/proc /[pid]/stat” (hombre proc) y lee el número de dispositivo de la tty de campo 7 (tty_nr), explican los investigadores. Lo malo es que estos campos están separados por el espacio y el campo 2 (comm, El nombre del fichero de comandos) puede contener espacios, que es en realidad el tema.
Más específicamente:
Por ejemplo, si ejecutamos sudo a través del enlace simbólico “./ 1 “, get_process_ttyname() llama sudo_ttyname_dev() para buscar el número de dispositivo TTY inexistente “1” en los search_devs incorporadas[]. Siguiente, sudo_ttyname_dev() llama a la función sudo_ttyname_scan() para buscar este número de dispositivo TTY inexistente “1” en un recorrido primero en amplitud de “/dev”.
La vulnerabilidad se debe a la forma en Sudo analiza la información “TTY” en el archivo de estado del proceso en el sistema de archivos proc. En las máquinas de Linux, sudo analiza el / proc /[pid]/stat archivo para delinear el número de dispositivo de TTY del proceso desde el campo 7 (tty_nr), como se explica en el aviso de seguridad.
La explotación de CVE-2017-1000367
Para la falla para ser explotados, el usuario ya debe tener privilegios sudo.
SELinux también debe estar habilitado en el sistema y sudo debe haber sido construido con el soporte de SELinux, investigadores añaden.
Para explotar el fallo, el usuario puede elegir un número de dispositivo que no existe actualmente en / dev. Si sudo no encuentra el terminal en el directorio / dev / pts directorio, se realiza una búsqueda en amplitud de / dev. Es posible asignar una pseudo-terminal después de sudo ha comprobado / dev / pts pero antes sudo lleva a cabo su búsqueda en amplitud de / dev. El atacante puede entonces crear un enlace simbólico al dispositivo recién creado en un directorio con permisos de escritura en / dev, por ejemplo, / dev / shm.
Este archivo se utilizará como entrada estándar de la orden, salida y error siempre que se especifique un papel SELinux en la línea de comando sudo. Si el enlace simbólico en / dev / shm se reemplaza por un enlace a otro archivo antes de que se abre mediante sudo, es posible sobrescribir un archivo arbitrario escribiendo en la salida estándar o el error estándar. Esto podría ser escalada a pleno acceso de root por el archivo de confianza, como / etc / shadow o incluso / etc / sudoers.
Cómo arreglar CVE-2017-1000367
Afortunadamente, el problema se trata y parcheado en 1.8.20p1 sudo.
También, La corrección para el análisis sintáctico / proc /[pid]/stat un salto de línea está contenida, se incluye en 1.8.20p2 sudo. Debido a los cambios en 1.8.20p1 sudo a cómo está atravesada / dev, no es posible explotar a / proc /[pid]/estado de un fichero que contiene un salto de línea, investigadores concluyen.