Vulnerabilidad crítica en Sudo permitiría escaladas de privilegios en sistemas afectados

Los mantenedores de Sudo anunciaron la corrección de una vulnerabilidad que podría haber permitido a los usuarios locales obtener privilegios de root en sistemas similares a Unix sin autenticación alguna. Sudo es un programa de Unix con el que los administradores de sistemas pueden proporcionar privilegios root a usuarios regulares en sudoers al tiempo que llevan un registro de actividades.

Este sistema funciona con el principio de privilegio mínimo, con el que se otorgan a los usuarios los requisitos necesarios para trabajar sin comprometer la seguridad del sistema. No obstante, al ejecutar comandos en sistemas similares a Unix, los usuarios con privilegios mínimos pueden usar el comando <<sudo>> para ejecutar comandos como usuario root.

Este comando también puede ser configurado para permitir que los usuarios normales ejecuten comandos como cualquier otro usuario al incluir directivas especiales en el archivo de configuración de sudoers.

Identificada como CVE-2021-3156, esta es una vulnerabilidad de escalada de privilegios inicialmente reportada por la firma de seguridad Qualys a inicios de 2021. Según su reporte, el problema existe por un desbordamiento de búfer basado en el montón que puede ser explotado por un usuario local  sin necesidad de utilizar contraseñas de administrador.

“Este desbordamiento de búfer se activa cuando sudo elimina incorrectamente las diagonales invertidas en cualquier argumento”, mencionan los expertos. El reporte de Qualys también especifica que, por lo general, sudo escapa de los caracteres especiales cuando se ejecuta un comando a través de shell (sudo-s o sudo-i), no obstante, también era posible ejecutar sudoedit con los indicadores -s o -i, en cuyo caso no se había realizado ningún escape, haciendo posible un desbordamiento del búfer.

Los investigadores usaron tres exploits para CVE-2021-3156 con el fin de demostrar que un actor de amenazas puede abusar con éxito de esta vulnerabilidad. Usando estos exploits, los investigadores pudieron obtener privilegios de root completos en múltiples distribuciones de Linux, incluyendo Debian 10, Ubuntu 20.04 y Fedora 33.

La falla habría sido introducida con la versión de Sudo lanzada en 2011, y está presente en las configuraciones predeterminadas de todas las versiones estables desde 1.9.0 a 1.9.5p1, además de todas las versiones heredadas desde 1.8.2 a 1.8.31p2. Los colaboradores de Sudo han solucionado la vulnerabilidad en la versión de sudo 1.9.5p2 lanzada hoy, al mismo tiempo que Qualys reveló públicamente sus hallazgos.

Para probar si su sistema es vulnerable, debe iniciar sesión como usuario no root y ejecutar el comando “sudoedit -s /”. Los sistemas vulnerables arrojarán un error que comienza con “sudoedit:” mientras que los parcheados mostrarán un error que comenzará con “usage:”.