Elevación de privilegios en sudo (en multitud de distribuciones)

Imagen de Capa
2 puntos

Copio y pego el texto publicado en "una al dia" de Hispasec.

Se ha descubierto un problema de seguridad en sudo que permite a cualquier atacante local elevar privilegios y convertirse en root. El fallo afecta a casi todas las distribuciones basadas en el kernel Linux y además de BSD, Mac OS X, etc.

Sudo es una herramienta de administración, utilizada en muchas de las distribuciones basadas en el kernel Linux, que permite delegar privilegios (normalmente de root) a determinados usuarios y para ciertos comandos en concreto. Ello posibilita, por ejemplo, que determinado grupo de usuarios tenga acceso a ciertas herramientas, con privilegios de administrador, pero de forma controlada y segura.

El fallo, descubierto por joernchen del Phenoelit Groupoernchen, se encuentra en un error de formato de cadena en la función "sudo_debug de sudo.c", a la hora de procesar el nombre del programa que se le pasa por parámetro.

Para aprovechar la vulnerabilidad (con CVE 2012-0809), el atacante debe, por ejemplo, realizar un enlace a nivel de sistema de fichero (ln) del binario sudo hacia un fichero con un nombre manipulado con caracteres especiales de cadena (por ejemplo "%n"). Al ejecutar ese nuevo enlace creado, se podrá ejecutar código con privilegios de root.

El fallo se ha confirmado en las versiones 1.8.x, y para solucionarlo, es necesario actualizar a 1.8.3.p2.

Este fallo es heredado por multitud de distribuciones y sistemas operativos que utilizan sudo. Fue notificado el día 24 de enero, y el día 30 ya se publicó un parche. Corren especial peligro las máquinas compartidas entre usuarios. También es posible que sea usado en un futuro para la elevación y "liberación" de dispositivos Android, por ejemplo.

Más información:

Vulnerabilidad:
http://seclists.org/fulldisclosure/2012/Jan/att-590/advisory_sudo.txt