Chris Evans, Joseph S. Myers, Michal Zalewski, Alan Cox,
y otros han notado un número de problemas en algunos componentes de la
implementación de ejemplo del sistema de ventanas X (de las que se deriva
XFree86). Al no saber de muchos explotaciones malvadas de ninguno de estos
problemas, aún no se ha sugerido que actualice sus paquetes XFree86
inmediatamente.
El alcance de este aviso es sólo de XFree86 3.3.6, ya que esta es la versión
incluida con Debian GNU/Linux 2.2 ("potato"); los paquetes de Debian XFree86
4.0 y posteriores no se han lanzado como parte de la distribución Debian.
Varias personas son responsables de la autoría de las correcciones a estos
problemas, incluyendo Aaron Campbell, Paulo Cesar Pereira de Andrade, Keith
Packard, David Dawes, Matthieu Herrb, Trevor Johnson, Colin Phipps, y Branden
Robinson.
- Los servidores X son vulnerables a un ataque de denegación de servicio
durante la negociación del protocolo XC-SECURITY.
- Los clientes X basados en Xlib (que son la mayoría) están sujetos a
desbordamientos de búfer potencias en las funciones _XReply() y
_XAsyncReply() si están conectados a un servidor X de código malvado que ponga
datos falsos en sus respuestas al protocolo X. NOTA: Esto es sólo un ataque
efectivo contra clientes X que se estén ejecutando con privilegios elevados
(programas con setuid o setgid), y ofrece accesos potenciales sólo al
privilegio elevado. Por ejemplo, el setuid más común del cliente X es
probablemente xter. En muchos sistemas Unix, xterm está puesto con setuid
root; en Debian 2.2, xterm es sólo setgid utmp, lo que significa que una
explotación efectiva está limitada a la corrupción de los archivos lastlog,
utmp y wtmp -- no acceso a root general. Fíjese también en
que el atacante debe tener ya suficientes privilegios para iniciar tal cliente
X y conectarse con éxito al servidor X.
- Hay un desbordamiento de búfer (no basado en pila) en el modo XDMCP de
xdm.
- Hay un desbordamiento de un byte en Xtrans.c
- Xtranssock.c también es objeto de problemas de desbordamiento de búfer.
- Hay un desbordamiento de búfer con la bandera -xkbmap del servidor X.
- El widget MultiSrc de la biblioteca de widgets Athena maneja de forma
insegura archivos temporales.
- El programa imake maneja de forma insegura archivos temporales al ejecutar
las reglas de instalación.
- La biblioteca ICE es objeto de ataques de desbordamiento de búfer
- El programa xauth gestiona los archivos temporales de manera insegura.
- La función XauLock() de la biblioteca Xau gestiona los archivos temporales
de manera insegura.
- Los programas gccmakedep y makedepend gestionan los archivos temporales
de forma insegura.
Todas las cuestiones anteriores se han resuelto en este liberación de
seguridad.
Hay algunos otros temas de seguridad discutidos comúnmente con los
anteriores, para los que el sistema actual Debian 2.2 NO es
vulnerable:
- Hay 4 problemas distintos con la función XOpenDisplay() de Xlib en los que
un servidor X con código malvado podría causar un ataque de denegación de
servicio o un desbordamiento de búfer. Como antes, esto es sólo efectivo en
ataques contra clientes X corriendo con elevados privilegios, y el atacanta
debe tener ya suficientes privilegios para iniciar tal cliente X y conectarse
con éxito al servior X. Debian 2.2 y 2.2r1 sólo son vulnerables a uno de estos
problemas, porque aplicamos los parches a XFree86 3.3.6 para corregir los
otros tres. Un parche adicional se aplicó en Debian 2.2r2 para corregir el
cuarto.
- El widget AsciiSrc de la biblioteca de wigdets Athena gestiona los
archivos temporales de forma insegura. Debian 2.2r2 no es vulnerable a este
problema porque aplicamos un parche para corregirlo.
- El programa imake utiliza mktemp() en lugar demkstemp(). Este problema no
existe en XFree86 3.3.6, y no hay ninguna versión de Debian 2.2 afectada.
Estos problemas han sido arreglados en la versión 3.3.6-11potato32 y le
recomendamos que actualice sus paquetes X inmediatamente.