// back

Multiple Vendor X Server XC-MISC Extension Memory Corruption Vulnerability

04.03.07

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

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.

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.

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.

WORKAROUND

iDefense is currently unaware of any workarounds for this issue.

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

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.

DISCLOSURE TIMELINE

02/08/2007 Initial vendor notification
02/09/2007 Initial vendor response
04/03/2007 Coordinated public disclosure

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/

LEGAL NOTICES

Copyright © 2007 Verisign, 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 customer service 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.