domingo, 5 de febrero de 2012

Vulnerabilidad en sudo

Recursos afectados

El programa sudo 1.8.0 hasta la versión 1.8.3p1. Las versiones anteriores no están afectadas.

Descripción

Se encuentra en un parámetro de cadena de formato de texto en una llamada a la función fprintf que puede ser controlado por el atacante.

Solución

Instalar la versión 1.8.3p2. Tanto para la versión 1.8.3p1 como para las versiones 1.8.0-1.8.3 puede hacerse a través de sudo-1.8.3p2.patch.gz, aunque es preferible hacerlo a través del programa de actualización de paquetes propio de la distribución de Linux/Unix.

Detalle

La vulnerabilidad, la CVE 2012-0809, se encuentra en el código de depuración de sudo.
En la función sudo_debug(), el nombre del propio programa sudo es utilizado como parte del argumento de cadena de formato de texto que utiliza fprintf(). El problema se encuentra en que el nombre del programa puede ser controlado mediante un enlace simbólico o estableciendo argv[0], lo permite la aplicación de variadas técnicas de explotación de vulnerabilidades en las cadenas de formato de texto:

$ ln -s /usr/bin/sudo ./%s

$ ./%s -D9

Segmentation fault

Para la explotación de esta vulnerabilidad el atacante no necesita estar listado en el archivo sudoers.

Impacto:

  • Escalado de privilegios a root.
  • Caída ("cuelgue") de sudo.
Fuente: https://cert.inteco.es