CVE:CVE-2007-4988
CNNVD:CNNVD-200709-361
ImageMagick是美国ImageMagick Studio公司的一套开源的图象处理软件。该软件可读取、转换、写入多种格式的图片。
ImageMagick在处理带有畸形数据的文件时存在整数漏洞，远程攻击者可能诱使用户处理恶意文件控制用户系统。
ImageMagick的ReadDIBImage()函数中存在整数溢出漏洞： 
  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); 
在558行dib_info.width为有符短型，然后会被扩展为无符长型并分配给image->columns。例如，0x8000会被扩展为0xffff8000，然后在计算分配的大小时用作了乘数。整数溢出会导致分配了不充分的堆块，之后触发堆溢出。
solution:Upgrade imagemagick imagemagick to a higher version than 5.3.3,5.3.8,5.4.2.3,5.4.3,5.4.4.5,5.4.7,5.4.8,5.4.8.2_1.1.0,5.5.3_.2_1.2.0,5.5.4,5.5.6,5.5.6.0_20030409,5.5.7,5.5.7.15,6.0,6.0.1,6.0.2,6.0.2.5,6.0.3,6.0.4,6.0.4.4,6.0.5,6.0.6,6.0.6.2,6.0.7,6.0.8,6.1,6.1.1,6.1.2,6.1.3,6.1.4,6.1.5,6.1.6,6.1.7,6.1.8,6.2,6.2.0.3,6.2.0.7,6.2.1,6.2.2,6.2.3,6.2.3.4,6.2.4,6.2.4.3,6.2.4.5,6.2.5,6.2.6,6.2.7,6.2.8,6.2.9,6.2.9.2,6.3.1,6.3.2,6.3.3_3,6.3.3_5,6.3.3_6,6.3.4,and avoid the version 5.3.3,5.3.8,5.4.2.3,5.4.3,5.4.4.5,5.4.7,5.4.8,5.4.8.2_1.1.0,5.5.3_.2_1.2.0,5.5.4,5.5.6,5.5.6.0_20030409,5.5.7,5.5.7.15,6.0,6.0.1,6.0.2,6.0.2.5,6.0.3,6.0.4,6.0.4.4,6.0.5,6.0.6,6.0.6.2,6.0.7,6.0.8,6.1,6.1.1,6.1.2,6.1.3,6.1.4,6.1.5,6.1.6,6.1.7,6.1.8,6.2,6.2.0.3,6.2.0.7,6.2.1,6.2.2,6.2.3,6.2.3.4,6.2.4,6.2.4.3,6.2.4.5,6.2.5,6.2.6,6.2.7,6.2.8,6.2.9,6.2.9.2,6.3.1,6.3.2,6.3.3_3,6.3.3_5,6.3.3_6,6.3.4