XFree86 Font Information File Buffer Overflow — GLSA 200402-02

Exploitation of a buffer overflow in the XFree86 Project Inc.'s XFree86 X Window System allows local attackers to gain root privileges.

Affected packages

x11-base/xfree on all architectures
Affected versions <
Unaffected versions = 4.2.1-r3
= 4.3.0-r4


XFree86, provides a client/server interface between display hardware and the desktop environment while also providing both the windowing infrastructure and a standardized API. XFree86 is platform independent, network-transparent and extensible.


Exploitation of a buffer overflow in The XFree86 Window System discovered by iDefence allows local attackers to gain root privileges.

The problem exists in the parsing of the 'font.alias' file. The X server (running as root) fails to check the length of the user provided input, so a malicious user may craft a malformed 'font.alias' file causing a buffer overflow upon parsing, eventually leading to the execution of arbitrary code.

To reproduce the overflow on the command line one can run:

# cat > fonts.dir <<EOF 1 word.bdf -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-1 EOF # perl -e 'print "0" x 1024 . "A" x 96 . "\n"' > fonts.alias # X :0 -fp $PWD

{Some output removed}... Server aborting... Segmentation fault (core dumped)


Successful exploitation can lead to a root compromise provided that the attacker is able to execute commands in the X11 subsystem. This can be done either by having console access to the target or through a remote exploit against any X client program such as a web-browser, mail-reader or game.


No immediate workaround is available; a software upgrade is required.

Gentoo has released XFree 4.2.1-r3, 4.3.0-r4 and and encourages all users to upgrade their XFree86 installations. Vulnerable versions are no longer available in Portage.


All users are recommended to upgrade their XFree86 installation:

 # emerge sync
 # emerge -pv x11-base/xfree
 # emerge x11-base/xfree


Release date
February 11, 2004

Latest revision
February 11, 2004: 01



Bugzilla entries