Multiple Vendor X Server XC-MISC Extension Memory Corruption Vulnerability
iDefense Security Advisory 04.03.07
http://labs.idefense.com/intelligence/vulnerabilities/
Apr 03, 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. More
information about about The X Window system is available at the
following URL.
http://en.wikipedia.org/wiki/X_Window_System
II. DESCRIPTION
Local exploitation of a memory corruption vulnerability in the multiple
vendor's X server implementations could allow an attacker to execute
arbitrary code with elevated privileges.
The XC-MISC extension is used by the X Server to manage resource IDs. It
is built in to the X server by default.
The vulnerability exists in the ProcXCMiscGetXIDList() function in the
XC-MISC extension. This request is used to determine what resource IDs
are available for use.
Inside this function, the ALLOCATE_LOCAL() macro is used. This macro
allocates memory on the stack or heap depending on the availability of
the alloca() function. If alloca() is available, the stack is used,
other wise the heap is used.
Due to insufficient input validation, it is possible to cause memory
corruption by passing specially crafted values to the
ProcXCMiscGetXIDList() handler function.
III. ANALYSIS
Exploitation allows attackers to execute arbitrary code with elevated
privileges.
As the X11 server requires direct access to video hardware, it runs with
elevated privileges. A user compromising an X server would gain those
permissions.
In order to exploit this vulnerability an attacker would require the
ability to send commands to an affected X server. This typically
requires access to the console, or access to the same account as a user
who is on the console. One method of gaining the required access would
be to remotely exploit a vulnerability in, for example, a graphical web
browser. This would then allow an attacker to exploit this vulnerability
and elevate their privileges to root.
Attempts at exploiting this vulnerability may put the console into an
unusable state. This will not prevent repeated exploitation attempts.
IV. DETECTION
iDefense has confirmed the existence of this vulnerability in the X.org
server version 7.1-1.1.0. Previous versions may also be affected.
V. WORKAROUND
iDefense is currently unaware of any workarounds for this issue.
VI. VENDOR RESPONSE
The X.Org Foundation has addressed this vulnerability with source code
patches. More information can be found from their advisory at the
following URL.
http://lists.freedesktop.org/archives/xorg-announce/2007-april/0286.html
VII. CVE INFORMATION
The Common Vulnerabilities and Exposures (CVE) project has assigned the
name CVE-2007-1003 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
02/08/2007 Initial vendor notification
02/09/2007 Initial vendor response
04/03/2007 Coordinated public disclosure
IX. CREDIT
This vulnerability was discovered by Sean Larsson of 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 [email protected] 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.
Full-Disclosure - We believe in it.
Charter: http://lists.grok.org.uk/full-disclosure-charter.html
Hosted and sponsored by Secunia - http://secunia.com/