El primer problema es la forma en la que ld.so gestiona las variables de entorno: para proporcionar un entorno seguro para aplicaciones con setuid borra ciertas variables de entorno que pueden influenciar la aplicación en su ejecución como LD_PRELOAD y LD_LIBRARY_PATH. Desafortunadamente había un error que podía causar que ld.so no las borrara bajo algunas condiciones. Esto afectaría a las aplicaciones con setuid si ejecutaran otro binario sin dejar los privilegios o borrando las propias variables de entorno.
El segundo problema es la gestión de locales en glibc. glibc comprueba caracteres como ` /` en las variables de entorno LANG y LC_* para ver si alguna está intentando engañar a algún programa para que lea archivos arbitrarios. Desafortunadamente había algunos errores lógicos en esos chequeos que podían usarse para hacer que una aplicación setuid usara archivos arbitrarios para configuraciones de localización, lo que podía explotarse para engañarlo y que ejecutara código arbitrario.
Estos problemas han sido reparados en la versión 2.0.7.19981211-6.3 para Debian GNU/Linux 2.1 (slink) y 2.1.3-13 para Debian GNU/Linux 2.2 (potato). Le recomendamos que actualice su paquete glibc inmediatamente.