Title: Multiple X application libX11 _XAsyncReply() Stack Corruption Vulnerability
Severity: MODERATE
Description:
A vulnerability exists in the _XAsyncReply() function of libX11. This function utilizes size information retrieved as part of a client supplied packet. This value is a signed integer. By forcing this value to be negative, it becomes possible to cause stack corruption. It is further possible to use this stack corruption to overwrite the return address on the stack. In theory, this could be used to execute arbitrary code. On systems where there are setuid X applications, such as xterm, it is possible for a local user to gain root.
This code requires that the user be able to run a fake X server bound to port 6000. This requires that X not be running already. As port 6000 is not privileged, any user can bind to the socket. It appears that this attack requires local access, in order to launch the xterm.
This vulnerability has been demonstrated on versions of X from XFree86. It is believed that the same vulnerability exists in the standard X distribution XFree86 is derived from, X11R6.x, from Open Group, although this has not been confirmed.
Affected Products:
- Debian Linux 2.2.0
- Open Group X 11.0.0R6
- Open Group X 11.0.0R6.1
- Open Group X 11.0.0R6.2
- Open Group X 11.0.0R6.3
- Open Group X 11.0.0R6.4
- RedHat Linux 6.2.0
- XFree86 X11R6 3.3.3
- XFree86 X11R6 3.3.4
- XFree86 X11R6 3.3.5
- XFree86 X11R6 3.3.6
- XFree86 X11R6 4.0.0
Juniper Networks provides this content via a wide variety of sources and production methods. If notified of errors or omissions in the content of this page, Juniper Networks, at its discretion, will modify or remove the page or leave the content as is, depending on various factors including but not limited to the reputation and authority of the party providing the notification. Please use the contact information displayed elsewhere on this page to report any errors or omissions regarding the content on this page.