Vulnerabilidad en Sudo permite a usuarios obtener privilegios de root

02/06/2017

Fue reportada una vulnerabilidad grave en Linux que podría ser explotada por un atacante con privilegios mínimos para obtener acceso root en los sistemas afectados.

La vulnerabilidad, identificada como CVE-2017-1000367, fue descubierta por los investigadores de Qualys Security en la función "get_process_ttyname ()" de Sudo para Linux que podría permitir a un usuario con privilegios de Sudo ejecutar comandos como root o elevar privilegios a root.

Sudo, significa "superuser do!", Es un programa para sistemas operativos Linux y UNIX que permite a los usuarios estándar ejecutar comandos específicos como superusuario (como root), por ejemplo agregar usuarios o realizar actualizaciones del sistema.

La falla reside en la forma en que Sudo analizó la información "tty" del archivo de estado del proceso en el sistema de archivos proc.

En máquinas Linux, Sudo analiza el archivo /proc/[pid]/stat para determinar el número de dispositivo del tty del proceso desde el campo 7 (tty_nr), explica Qualys Security en su aviso.

Aunque los campos del archivo están delimitados por espacio, es posible que el campo 2 (el nombre del comando) incluya espacios en blanco (incluyendo nueva línea), que sudo no tiene en cuenta.

Por lo tanto, un usuario local con privilegios de sudo (Sudoer)  puede hacer que sudo utilice un número de dispositivo de su elección "mediante la creación de un enlace simbólico desde el binario de sudo a un nombre que contiene un espacio seguido de un número", escalando sus privilegios para sobrescribir cualquier archivo en el sistema de archivos, incluyendo archivos con propietario root.

"Para explotar el bug, el usuario puede elegir un número de dispositivo que no existe actualmente en el directorio /dev. Si sudo no encuentra el terminal en el directorio /dev/pts, realiza una búsqueda profunda en /dev... El atacante puede entonces crear un enlace simbólico al dispositivo recién creado en un directorio escribible en el directorio /dev, por ejemplo /dev/shm", dice una alerta en el sitio web del proyecto sudo.

"Este archivo se utilizará como entrada, salida y error estándar del comando cuando se especifique un rol SELinux en la línea de comandos de sudo. Si el enlace simbólico en /dev/shm es reemplazado por un enlace a otro archivo antes de que sudo lo abra, es posible sobrescribir un archivo arbitrario escribiendo en la salida estándar o error estándar. Esto puede ser escalado para obtener acceso root  reescribiendo un archivo de confianza como /etc/shadow o incluso /etc/sudoers."

La vulnerabilidad, que afecta a Sudo 1.8.6p7 a 1.8.20 y marcada como de alta severidad, ya ha sido modificada en Sudo 1.8.20p1, y se recomienda a los usuarios actualizar sus sistemas a la última versión.

Red Hat lanzó parches para Red Hat Enterprise Linux 6, Red Hat Enterprise Linux 7 y Red Hat Enterprise Linux Server. Debian también ha lanzado parches para sus lanzamientos de Wheezy, Jessie y Sid, también SUSE Linux ha lanzado parches para varios de sus productos.

Qualys Security dijo que publicaría su exploit sudoer-to-root una vez que un número máximo de usuarios han tenido tiempo de parchar sus sistemas contra la vulnerabilidad.

Artículos relacionados