Home    |    View Topics    |    Search    |    Contact Us    |   



Category:   Application (Security)  >   Clam AntiVirus Vendors:
Clam AntiVirus Buffer Overflow in cab_unstore() Lets Remote Users Execute Arbitrary Code
SecurityTracker Alert ID:  1017921
SecurityTracker URL:
CVE Reference:   CVE-2007-1997   (Links to External Site)
Date:  Apr 16 2007
Impact:   Execution of arbitrary code via network, User access via network
Fix Available:  Yes  Vendor Confirmed:  Yes  
Version(s): 0.90, 0.90.1
Description:   A vulnerability was reported in Clam AntiVirus. A remote user can cause arbitrary code to be executed on the target user's system.

A remote user can create a specially crafted CAB file that, when processed by clamd, will trigger a buffer overflow in the cab_unstore() function and execute arbitrary code on the target system. The code will run with the privileges of the clamd process.

The vendor was notified on April 5, 2007.

iDefense reported this vulnerability.

Impact:   A remote user can create a file that, when loaded by the target application, will execute arbitrary code on the target user's system.
Solution:   The vendor has issued a fixed version (0.90.2).
Vendor URL: (Links to External Site)
Cause:   Boundary error
Underlying OS:  Linux (Any), UNIX (Any)

Message History:   None.

 Source Message Contents

Subject:  iDefense Security Advisory 04.16.07: ClamAV CAB File Unstore Buffer

Clam AntiVirus ClamAV CAB File Unstore Buffer Overflow Vulnerability

iDefense Security Advisory 04.16.07
Apr 16, 2007


Clam AntiVirus is a multi-platform GPL anti-virus toolkit. ClamAV is
often integrated into e-mail gateways and used to scan e-mail traffic
for viruses. Cabinet, or CAB, files are the Microsoft Windows native
format for storing compressed archives. More information can be found
on the vendor's website at the following URL.


Remote exploitation of a buffer overflow vulnerability in Clam
AntiVirus' ClamAV allows attackers to execute arbitrary code with the
privileges of the affected process.

The vulnerability exists within the cab_unstore() function in libclamav,
the library used by clamd to scan various file types. A 32-bit signed
integer is taken from the packet and compared against the sizeof() the
destination buffer. However, the sizeof() return value is improperly
casted to a signed integer. By supplying a negative value, an attacker
can pass cause the comparison to succed. This eventually leads to an
exploitable stack-based buffer overflow.


Successful exploitation of this vulnerability results in code execution
with the privileges of the process using libclamav.

In the case of the clamd program, this will result in executing code
with the privileges of the clamav user. Unsuccessful exploitation
results in the clamd process crashing.

This vulnerability only exists in the recent 0.9x versions of ClamAV. As
such, the vulnerable code is not present in the versions distributed
with Red Hat Enterprise or other open source distributions.


iDefense has confirmed the existence of this vulnerability in ClamAV in
versions 0.90rc3 through 0.90.1.


iDefense is currently unaware of any workaround for this issue.


The ClamAV team has addressed this vulnerability within version 0.90.2.


The Common Vulnerabilities and Exposures (CVE) project has assigned the
name CVE-2007-1997 to this issue. This is a candidate for inclusion in
the CVE list (, which standardizes names for
security problems.


04/05/2007  Initial vendor notification
04/06/2007  Initial vendor response
04/16/2007  Coordinated public disclosure


The discoverer of this vulnerability wishes to remain anonymous.

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 information.


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