Chris Evans, Joseph S. Myers, Michal Zalewski, Alan Cox,
og andre har bemærket et antal problemer i forskellige komponenter af X
Window Systemets eksempelimplementation (på hvilken XFree86 er baseret).
Mens der ikke er kendte rapporter om ondskabsfulde angreb baseret på nogen af
disse problemer, foreslår vi ikke desto mindre at du omgående opgraderer dine
XFree86-pakker.
Denne bulletin drejer sig kun om XFree86 3.3.6, da det er denne version der er
frigivet sammen med Debian GNU/Linux 2.2 ("potato"); Debian-pakker af XFree86
4.0 og senere er ikke blevet frigivet som del af en Debian-distribution.
Flere personer er ansvarlige for rettelserne af disse problemer, blandt andre
Aaron Campbell, Paulo Cesar Pereira de Andrade, Keith Packard, David Dawes,
Matthieu Herrb, Trevor Johnson, Colin Phipps og Branden Robinson.
- X-servere er sårbare overfor overbelastningsangreb ("denial of service")
ved forhandlinger med XC-SECURITY-protokollen.
- X-klienter baseret på Xlib (hvilket er de fleste) kan udsættes for
potentielle buffer-overløb i _XReply()- og _XAsyncReply()-funktionerne, hvis
de forbinder sig til en ondskabsfuldt kodet X-server som placerer falske
data i sine X-protokol-svar.
BEMÆRK: Dette er kun et effektivt angreb mod X-klienter der kører med
forhøjede rettigheder (setuid- eller setgid-programmer) og giver kun potentiel
adgang til de forhøjede rettigheder. For eksempel er den mest udbredte
setuid-X-klient formentlig xtrem. På mange Unix-systemer er xtrem setuid root;
i Debian 2.2 er xtrem kun setgid utmp, hvilket betyder at et effektivt angreb
er begrænset til ødelæggelse af lastlog-, utmp- og wtmp-filer --
ikke general root-adgang. Bemærk også at en angriber på
forhånd skal have tilstrækkelige rettigheder, for at kunne starte en sådan
X-klient og med succes forbinde sig til en X-server.
- Der er et buffer-overløb (ikke stack-baseret) i xdms XDMCP-kode.
- Der er et 1-byte-overløb i Xtrans.c.
- Der er også mulige buffer-overløbsproblemer i Xtranssock.c.
- Der er et buffer-overløb i forbindelse med -xkbmap X-server-flaget.
- MultiSrc-widget'et i Athena-widget-biblioteket håndterer midlertidige filer
usikkert.
- imake-programmet håndterer midlertidige filer usikkert når der udføres
install-regler.
- ICE-biblioteket er sårbart overfor buffer-overløbsangreb.
- xauth-programmet håndterer midlertidige filer usikkert.
- XauLock()-funktionen i Xau-biblioteket håndterer midlertidige filer
usikkert.
- gccmakedep- og makedepend-programmerne håndterer midlertidige filer
usikkert.
Alle ovenstående problemer er løst i forbindelse med denne
sikkerhedsfrigivelse.
Der er flere andre sikkerhedsproblemer i XFree86 som ofte diskuteres i
forbindelse med ovenstående, men som et ajourført Debian 2.2-system
IKKE er sårbart overfor:
- Der er fire forskellige problemer med Xlibs XOpenDisplay()-funktion, hvor
en ondskabsfuldt kodet X-server kan forsage et overbelastningsangreb ("denial
of service") eller buffer-overløb. Som tidligere er det kun et effektivt angreb mod
X-klienter der kører med forhøjede rettigheder, og angriberen skal på forhånd
have tilstrækkelige rettigheder til at starte en sådan X-klient og med
succes forbinde sig til en X-server.
Debian 2.2 og 2.2r1 er kun sårbare til et af disse problemer, fordi vi
tilføjede ændringer (patches) til XFree86 3.3.6 for at rette de andre tre.
En ekstra ændring føjet til Debian 2.2r2 rettede det fjerde problem.
- AsciiSrc-widget'en i Athena-widget-biblioteket håndterer midlertidige
filer usikkert. Debian 2.2r2 er ikke sårbar overfor dette problem fordi vi
tilføjede en ændring for at fjerne problemet.
- imake-programmet anvender mktemp() i stedet for mkstemp(). Dette problem
findes ikke i XFree86 3.3.6 og derfor er ingen frigivelse af Debian 2.2
påvirket.
Disse problemer er rettet i version 3.3.6-11potato32 og vi anbefaler at du
omgående opgraderer dine X-pakker.