Actualidad

Una vulnerabilidad en sudo permite saltarse las restricciones en torno a root

El día de ayer diversos medios se hicieron eco de una vulnerabilidad que afecta a sudo, la conocida herramienta que permite ejecutar de forma momentánea programas con privilegios de root sin necesidad de cambiar la sesión del usuario común.

La vulnerabilidad, cuyo código de seguimiento es CVE-2019-14287, afecta a la implementación de sudo que utiliza GNU/Linux y se trata, según explican en The Hacker News, “de una omisión de la política de seguridad podría permitir que un usuario o un programa malintencionado ejecute comandos arbitrarios como root en el sistema Linux objetivo, incluso cuando la configuración de los sudoers no permita explícitamente el acceso como root.”

Dicho con palabras llanas, el fallo de seguridad permite saltarse las restricciones para los usuarios que no son root, haciendo que ejecuten comandos con los privilegios del administrador de Linux. Los desarrolladores de sudo exponen que “esto puede ser utilizado por un usuario con suficientes privilegios de sudo para ejecutar comandos como root, incluso si la especificación RunAs no permite explícitamente el acceso a root, siempre y cuando la palabra clave ALL aparezca primera en la especificación RunAs.”

El ataque que explota la vulnerabilidad requiere de una configuración específica del fichero “/etc/sudoers”, por lo que no afecta a una gran cantidad de usuarios. Para ello la persona administradora del sistema (que puede ser la persona que maneja el ordenador de su casa) tiene que especificar en el fichero mencionado una política como la siguiente, indicando que se permite ejecutar vi como cualquier usuario menos root:

bob myhost = (ALL, !root) /usr/bin/vi

El fallo de seguridad puede ser explotado con un comando en el que se especifique el identificador del usuario (ID) como -1 o 4294967295, ya que sudo trata incorrectamente ambos números y los termina haciendo pasar por 0, que es el identificador de root. Es importante tener en cuenta que 4294967295 es el equivalente sin signo de -1.

sudo -u#-1 id -u

O de forma alternativa:

sudo -u#4294967295 id -u

La vulnerabilidad afecta a todas las versiones de sudo anteriores a la 1.8.28, que fue publicada ayer. Sin embargo, los usuarios de cualquier distribución GNU/Linux bien mantenida tendrían que haber empezado a recibir la correspondiente actualización de sudo a través de los canales habituales.

Te recomendamos

Actualidad

El gestor de contraseñas KeePassXC acaba de publicar su primera versión del año y, pese a lo escueto de sus novedades, nos da la...

Actualidad

La reimplementación de sudo en Rust, sudo-rs, sigue dando pasos para consolidarse como alternativa moderna al original, la veterana herramienta para la elevación de...

Actualidad

El mantenimiento de Linux es una tarea que cada vez cuesta más. Esto se ha traducido en cambios en el soporte de las versiones...

Actualidad

Linus Torvalds ha anunciado la publicación de Linux 6.19 como la nueva versión estable del kernel y tras un proceso que he conllevado, de...

Salir de la versión móvil