ImageMagick Photoshop Document Buffer Overlow Lets Remote Users Execute Arbitrary Code
SecurityTracker Alert ID: 1012916|
SecurityTracker URL: http://securitytracker.com/id/1012916
(Links to External Site)
Date: Jan 17 2005
Execution of arbitrary code via network, User access via network|
Fix Available: Yes Vendor Confirmed: Yes |
Version(s): prior to 6.1.8-8|
iDEFENSE reported a buffer overflow vulnerability in ImageMagick in the processing of Photoshop files. A remote user can cause arbitrary code to be executed.|
A remote user can create a specially crafted Photoshop document (.psd) file that, when processed by ImageMagick, will trigger a buffer overflow and execute arbitrary code.
The flaw resides in 'coders/psd.c'.
The vendor was notified on December 21, 2004.
The original advisory is available at:
A remote user can cause arbitrary code to be executed on the target system.|
The vendor has issued a fixed version (6.1.8-8), available at:|
Vendor URL: www.imagemagick.org/ (Links to External Site)
|Underlying OS: Linux (Any), UNIX (Any)|
This archive entry has one or more follow-up message(s) listed below.|
Source Message Contents
Subject: iDEFENSE Security Advisory 01.17.05: Multiple Vendor ImageMagick|
Multiple Vendor ImageMagick .psd Image File Decode Heap Overflow
iDEFENSE Security Advisory 01.17.05
January 17, 2005
ImageMagick provides a variety of graphics image-handling libraries and
capabilities. These libraries are widely used and are shipped by default
on most Unix and Linux distributions. These libraries are commonly
installed by default on computers where any other graphical image viewer
or X Desktop environment is installed (such as Gnome or KDE).
More information is available at the following site:
Remote exploitation of a buffer overflow vulnerability in The
ImageMagick's Project's ImageMagick PSD image-decoding module could
allow an attacker to execute arbitrary code.
A heap overflow exists within ImageMagick, specifically in the decoding
of Photoshop Document (PSD) files. The vulnerable code follows:
for (j=0; j < (long) layer_info[i].channels; j++)
The array channel_info is only 24 elements large, and the loop variable,
"j", is bounded by a user-supplied value from the image file, thus
allowing a heap overflow to occur when more than 24 layers are
specified. If heap structures are overflowed in a controlled way,
execution of arbitrary code is possible.
Exploitation may allow attackers to run arbitrary code on a victim's
computer if the victim opens a specially formatted image. Such images
could be delivered by e-mail or HTML, in some cases, and would likely
not raise suspicion on the victim's part. Exploitation is also possible
when a web-based application uses ImageMagick to process user-uploaded
iDEFENSE has confirmed this vulnerability in ImageMagick 6.1.0 and
ImageMagick 6.1.7. Earlier versions are also suspected vulnerable.
The following vendors may include vulnerable ImageMagick packages:
The Debian Project
Red Hat, Inc.
Do not open files from untrusted sources. Do not allow untrusted sources
to process images using your web application.
VI. VENDOR RESPONSE
This vulnerability is addressed in ImageMagick 6.1.8-8, available for
VII. CVE INFORMATION
The Common Vulnerabilities and Exposures (CVE) project has assigned the
names CAN-2005-0005 to these issues. This is a candidate for inclusion
in the CVE list (http://cve.mitre.org), which standardizes names for
A Mitre Corp. Common Vulnerabilities and Exposures (CVE) number has not
been assigned yet.
VIII. DISCLOSURE TIMELINE
12/21/2004 Initial vendor notification
01/14/2004 Initial vendor response
01/17/2005 Public disclosure
Andrei Nigmatulin is credited with this discovery.
Get paid for vulnerability research
X. LEGAL NOTICES
Copyright (c) 2004 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
email email@example.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,