chmlib Page Block Length Validation Flaw Lets Remote Users Execute Arbitrary Code
SecurityTracker Alert ID: 1017565|
SecurityTracker URL: http://securitytracker.com/id/1017565
(Links to External Site)
Updated: May 19 2008|
Original Entry Date: Jan 26 2007
Execution of arbitrary code via network, User access via network|
Fix Available: Yes Vendor Confirmed: Yes |
Version(s): prior to 0.39|
A vulnerability was reported in chmlib. A remote user can cause arbitrary code to be executed on the target user's system.|
A remote user can create a specially crafted CHM file that, when loaded by the target user or application, will overwrite the stack pointer and execute arbitrary code on the target system. The code will run with the privileges of the target user or application.
A specially crafted page block length value can trigger this vulnerability.
The vendor was notified on January 24, 2007.
Sean Larsson of iDefense Labs discovered this vulnerability.
A remote user can create a file that, when loaded by the target user, will execute arbitrary code on the target user's system.|
The vendor has issued a fixed version (0.39), available at:|
Vendor URL: morte.jedrea.com/~jedwin/projects/chmlib/ (Links to External Site)
Input validation error|
Linux (Any), UNIX (Any), Windows (Any)|
Source Message Contents
Date: Fri, 26 Jan 2007 15:01:18 -0500|
Subject: iDefense Security Advisory 01.26.07: Multiple Vendor libchm Page
Multiple Vendor libchm Page Block Length Memory Corruption Vulnerability
iDefense Security Advisory 01.26.07
Jan 26, 2007
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
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
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.
iDefense has confirmed the existence of this vulnerability in CHMlib
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
Sean Larsson (iDefense Labs) is credited with the discovery of this
Get paid for vulnerability research
Free tools, research and upcoming events
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
firstname.lastname@example.org 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
To unsubscribe, go here: