Multiple Vendor libchm Page Block Length Memory Corruption Vulnerability iDefense Security Advisory 01.26.07 http://labs.idefense.com/intelligence/vulnerabilities/ Jan 26, 2007 I. BACKGROUND CHMlib is an open source library used to read Microsoft CHM, compressed HTML, files. CHM files were originally designed for use by Microsoft as help files, but are now commonly used to store e-books. The 'xchm' program uses CHMlib to display CHM files. More information can be found on the package's website: http://www.jedrea.com/chmlib/ II. DESCRIPTION CHM files contain various tables and objects stored in "pages." When parsing a page of objects, CHMlib passes an unsanitized value from the file to the alloca() function. This allows an attacker to shift the stack pointer to point to arbitrary locations in memory. Consequently it is possible to write arbitrary data from the file to arbitrary memory locations. III. ANALYSIS Successful exploitation of this vulnerability allows an attacker to execute arbitrary code with the permissions of the user viewing the file. An attacker would have to first convince the user to view the CHM file through some type of social engineering. IV. DETECTION iDefense has confirmed the existence of this vulnerability in CHMlib version 0.38. V. WORKAROUND iDefense is currently unaware of any workarounds for this issue. VI. VENDOR RESPONSE The CHMlib maintainer has addressed this issue in version 0.39. VII. CVE INFORMATION A Mitre Corp. Common Vulnerabilities and Exposures (CVE) number has not been assigned yet. VIII. DISCLOSURE TIMELINE 01/24/2007 Initial vendor notification 01/24/2007 Initial vendor response 01/26/2007 Coordinated public disclosure IX. CREDIT Sean Larsson (iDefense Labs) is credited with the discovery of this vulnerability. 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 © 2006 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.