La vulnerabilidad permitiría que un usuario malintencionado, si se encuentra listado en el archivo /etc/sudoers y posee permisos para impersonar cualquier usuario, salvo root, ejecutase igualmente código con privilegios de administrador mediante un bypass de la política de seguridad. Las condiciones de explotación así expuestas, no obstante, se revelan como muy poco frecuentes, en tanto que esta configuración del archivo /etc/sudoers no es la habitual.

Se ha descubierto una vulnerabilidad en sudo, una de las utilidades más importantes y usadas que existen en los sistemas UNIX y basados en Linux. Su función, deducible del significado de su acrónimo «superuser, do» es permitir a un usuario que disfrute de este permiso, la ejecución de programas con permisos de super usuario, sin tener que cambiar el entorno.
Típicamente, en la mayoría de distribuciones basadas en Linux, la posibilidad de facultar a un usuario para ejecutar sudo pasa por incluir la configuración correcta en el archivo /etc/sudoers. La separación de permisos es una excelente práctica de seguridad, así como un paradigma ampliamente establecido en los sistemas Linux. Gracias a él, los administradores pueden definir fácilmente qué usuarios o grupos de usuarios pueden ejecutar o no un comando.
La vulnerabilidad implica que este principio de securización fundamental puede ser ignorado, aunque un usuario esté explícitamente desautorizado para ejecutar un determinado comando. Esto podría conducir a la toma de control del sistema.
La vulnerabilidad, descubierta por el investigador de Seguridad de la Información de Apple Joe Vennix, ha sido asociada al código CVE–2019-14287. Lo interesante es que la explotación parece requerir únicamente el establecimiento de una ID de usuario de valor «-1 » o «4294967295». Esto es debido a que la función implicada en la conversión del valor de la ID de usuario a su valor nominal, no trata correctamente el valor «-1 » o su equivalente sin signar «4294967295». Dicha función estaría tratando esos valores de modo que quedaran igualados a 0, cuya conversión nominal resulta ser root, el usuario con permisos completos sobre el sistema. Pueden consultarse los detalles técnicos de la función implicada en este fallo pulsando este enlace.
La vulnerabilidad afecta a todas las versiones de la utilidad sudo anteriores a 1.8.28 y su parche de seguridad correspondiente fue liberado el día 14 de Octubre de 2019. Se recomienda encarecidamente actualizar el paquete a la última versión disponible para parchear el fallo.
Más información:
Está mal interpretado: no es «aún estándo en el sudoers explícitamente listado». DEBE estarlo. Y con permisos para impersonar cualquier usuario salvo root (ALL, !root), una situación poco habitual.
Lo normal es que si un usuario está en sudoers, se le da permiso para correr algo como otro usuario específico (no se puede explotar), o como cualquier usuario incluyendo root (ya tenía root, no aplica).
Y aún así, hay que ver que el comando revista algún peligro, o permita correr otros comandos, si no fuera peligroso por si.
Muchas gracias por tu comentario, hemos corregido la entrada con tu ayuda.
¡Un saludo!