Home    |    View Topics    |    Search    |    Contact Us    |   



Category:   Application (Generic)  >   chmlib Vendors:   Wing, Jed
chmlib Page Block Length Validation Flaw Lets Remote Users Execute Arbitrary Code
SecurityTracker Alert ID:  1017565
SecurityTracker URL:
CVE Reference:   CVE-2007-0619   (Links to External Site)
Updated:  May 19 2008
Original Entry Date:  Jan 26 2007
Impact:   Execution of arbitrary code via network, User access via network
Fix Available:  Yes  Vendor Confirmed:  Yes  
Version(s): prior to 0.39
Description:   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.

Impact:   A remote user can create a file that, when loaded by the target user, will execute arbitrary code on the target user's system.
Solution:   The vendor has issued a fixed version (0.39), available at:

Vendor URL: (Links to External Site)
Cause:   Input validation error
Underlying OS:  Linux (Any), UNIX (Any), Windows (Any)

Message History:   None.

 Source Message Contents

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
package's website:


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
version 0.38.


iDefense is currently unaware of any workarounds for this issue.


The CHMlib maintainer has addressed this issue in version 0.39.


A Mitre Corp. Common Vulnerabilities and Exposures (CVE) number has not
been assigned yet.


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


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 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:

Go to the Top of This SecurityTracker Archive Page

Home   |    View Topics   |    Search   |    Contact Us

This web site uses cookies for web analytics. Learn More

Copyright 2021, LLC