Multiple Vendor ImageMagick Multiple Denial of Service Vulnerabilities
25 Sep. 2007
Summary
ImageMagick is "a suite of image manipulation tools (animate, composite, conjure, convert, display, identify, import, mogrify and montage) that are sometimes used by other applications for processing image files". Remote exploitation of multiple denial of service vulnerabilities in ImageMagick, as included in various vendors' operating system distributions, allows attackers to consume excessive CPU resources on the target system.
The first vulnerability exists in the ReadDCMImage() function. Since the return value of ReadBlobByte() is not properly checked, it can enter an infinite loop.
The second vulnerability exists in the ReadXCFImage() function. Since the return value of ReadBlobMSBLong() is not properly checked, it can enter an infinite loop.
Analysis:
Exploitation of these vulnerabilities allows an attacker to consume excessive CPU resource on the system using the ImageMagick library to process images.
One way of exploiting these vulnerabilities is to persuade a targeted user to open a malicious image file with a program that utilizes the ImageMagick library.
As the tools that are part of ImageMagick are sometimes used as helper tools by other applications, this user may be the same as the web server user. This scenario is somewhat more severe than the previously described attack vector since the image processing can occur automatically.
Workaround:
Exposure to some of these vulnerabilities can be mitigated by moving or deleting the related module files. The file locations may vary between distributions. The globbing expressions listed below correspond to a Red Hat Linux system.