iDefense Security Advisory 10.02.07: Multiple Vendor X Font Server Multiple Vulnerabilities
Multiple Vendor X Font Server Multiple Vulnerabilities
iDefense Security Advisory 10.02.07
http://labs.idefense.com/intelligence/vulnerabilities/
Oct 02, 2007
I. BACKGROUND
The X Window System (or X11) is a graphical windowing system used on
Unix-like systems. It is based on a client/server model. The X Window
System font server (xfs) is used to render fonts for the X server. More
information can be found at the following URLs.
http://en.wikipedia.org/wiki/X_Window_System
http://www.x.org/wiki/
II. DESCRIPTION
Remote exploitation of a multiple vulnerabilities in X.Org Foundation's
X Font Server, as included in various vendors' operating system
distributions, could allow an attacker to execute arbitrary code.
An integer overflow vulnerability exists within the handlers for the
QueryXBitmaps and QueryXExtents protocol requests. Both requests result
in a call to the build_range() function. This function takes a 32bit
integer from the request, and uses it in an arithmetic operation that
calculates the size of a dynamic buffer. This calculation can overflow,
which leads to an improperly sized memory allocation. This results in a
heap overflow.
Additionally, a heap corruption vulnerability exists within the handlers
for the QueryXBitmaps and QueryXExtents protocol requests. Both requests
result in a call to the swap_char2b() function. This function takes a
32bit integer from the request, and uses it as the number of bytes to
swap in the request buffer. This allows an attacker to swap an
arbitrary number of bytes on the heap.
III. ANALYSIS
Exploitation of these vulnerabilities could result in the execution of
arbitrary code with the privileges of the X Font Server, usually 'xfs'.
On current versions of Solaris, these vulnerabilities are remotely
exploitable. The XFS service is turned on by default, and listens on
TCP port 7100. On modern Linux systems, these vulnerabilities are only
locally exploitable since the server is configured to listen on a UNIX
socket only.
IV. DETECTION
iDefense has confirmed the existence of these vulnerabilities in XFS
version X11R7.2-1.0.4. Previous versions may also be affected.
V. WORKAROUND
On Solaris, stop XFS from listening remotely by disabling it via the
service manager.
VI. VENDOR RESPONSE
The X.Org team has addressed these vulnerabilities with the release of
XFS version 1.0.5. Additionally, a patch for version 1.0.4 has been
made available. For more information, consult the X.Org advisory at the
following URL.
http://lists.freedesktop.org/archives/xorg-announce/2007-October/000416.html
VII. CVE INFORMATION
The Common Vulnerabilities and Exposures (CVE) project has assigned the
name CVE-2007-4568 to this issue. This is a candidate for inclusion in
the CVE list (http://cve.mitre.org/), which standardizes names for
security problems.
VIII. DISCLOSURE TIMELINE
09/05/2007 Initial vendor notification
09/08/2007 Initial vendor response
10/02/2007 Public disclosure
IX. CREDIT
These vulnerabilities were discovered by Sean Larsson of VeriSign
iDefense Labs.
Get paid for vulnerability research
http://labs.idefense.com/methodology/vulnerability/vcp.php
Free tools, research and upcoming events
http://labs.idefense.com/
X. LEGAL NOTICES
Copyright © 2007 iDefense, Inc.
Permission is granted for the redistribution of this alert
electronically. It may not be edited in any way without the express
written consent of iDefense. If you wish to reprint the whole or any
part of this alert in any other medium other than electronically,
please e-mail customerservice@xxxxxxxxxxxx for permission.
Disclaimer: The information in the advisory is believed to be accurate
at the time of publishing based on currently available information. Use
of the information constitutes acceptance for use in an AS IS condition.
There are no warranties with regard to this information. Neither the
author nor the publisher accepts any liability for any direct,
indirect, or consequential loss or damage arising from use of, or
reliance on, this information.