|
|
|
|
| |
Credit:
The information has been provided by iDefense Labs Security Advisories.
The original article can be found at: http://labs.idefense.com/intelligence/vulnerabilities/display.php?id=597
|
| |
Vulnerable Systems:
* ImageMagick version 6.3.4
Immune Systems:
* ImageMagick version 6.3.5-9
This vulnerability specifically exists in the ReadDIBImage() as shown below.
558 image->columns=(unsigned long) dib_info.width
...
620 bytes_per_line=4*((image->columns*dib_info.bits_per_pixel+31)/32);
621 length=bytes_per_line*image->rows;
622 pixels=(unsigned char *) AcquireMagickMemory((size_t) MagickMax(
623 bytes_per_line,image->columns+256)*image->rows*sizeof(*pixels));
...
629 count=ReadBlob(image,length,pixels);
...
638 status=DecodeImage(image,dib_info.compression ? MagickTrue : MagickFalse,pixels);
At line 558, "dib_info.width" is a signed short, which is extended to an unsigned long and assigned to "image->columns". For example, a value of 0x8000 will be extended to 0xffff8000. Later, it is used as a multiplier when calculating the allocation size. An integer overflow occurs, leading to a heap block of insufficient size being allocated. Consequently, a heap buffer overflow occurs.
Analysis:
Exploitation of this vulnerability allows an attacker to execute arbitrary code in the context of the user.
One way of exploiting this vulnerability 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 this vulnerability can be mitigated by moving or deleting the related module files. The file locations may vary between distributions. The globbing expression listed below corresponds to a Red Hat Linux system.
/usr/lib/ImageMagick-*/modules*/coders/dib.*
Vendor response:
The ImageMagick maintainers have addressed this vulnerability with the release of version 6.3.5-9. More information is available from the following URL.
http://studio.imagemagick.org/pipermail/magick-announce/2007-September/000037.html
CVE Information:
CVE-2007-4988
Disclosure Timeline:
09/04/2007 - Initial vendor notification
09/05/2007 - Initial vendor response
09/19/2007 - Public disclosure
|
|
|
|
|