Multiple Vendor X Font Server swap_char2b() Heap Overflow Vulnerability iDefense Security Advisory XX.XX.XX http://labs.idefense.com/intelligence/vulnerabilities/ MMM DD, YYYY I. BACKGROUND Xfs is the X Window System font server. It is used to render fonts for the X server. More information can be found on the vendor's website. http://www.x.org/wiki/ II. DESCRIPTION Remote exploitation of a heap overflow vulnerability in X.Org Foundation's X Font Server, as included in various vendors' operating system distributions, could allow an attacker to execute arbitrary code. The vulnerability exists within the handlers for the QueryXBitmaps and QueryXExtents protocol requests. Both of these 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 Successful exploitation of this vulnerability results in the execution of arbitrary code with the privileges of the X Font Server, usually 'xfs'. Exploitation of this vulnerability is difficult due to the nature of the overflow. An attacker is only able to swap pairs of bytes on the heap. Exploitation is likely possible, but complex. On modern Linux systems, this vulnerability is only locally exploitable. XFS no longer listens on tcp port 7100 on current distributions. On current versions of Solaris, this vulnerability is remotely exploitable. The XFS service is turned on by default, and listens on tcp port 7100. IV. DETECTION iDefense has confirmed the existence of this vulnerability 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 iDefense is currently working with the vendor to address this issue. Since there is no vendor fix at this time, please handle this information with sensitivity. VII. CVE INFORMATION A Mitre Corp. Common Vulnerabilities and Exposures (CVE) number has not been assigned yet. VIII. DISCLOSURE TIMELINE XX/XX/XXXX Initial vendor notification IX. CREDIT This vulnerability was discovered by Sean Larsson, 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@idefense.com 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.