CVE:CVE-2007-4987
CNNVD:CNNVD-200709-348
ImageMagick是美国ImageMagick Studio公司的一套开源的图象处理软件。该软件可读取、转换、写入多种格式的图片。
ImageMagick在处理畸形格式的文件时存在缓冲区溢出漏洞，远程攻击者可能利用此漏洞通过诱使用户打开处理恶意文件控制系统。
magick/blob.c文件中的ReadBlobString()函数存在缓冲区溢出漏洞：
  3110    for (i=0; i < (long) MaxTextExtent; i++)
  3111    {
  3112      p=ReadBlobStream(image,1,buffer,&count);
  ...
  3119      string[i]=(char) (*p);
  3120      if ((string[i] == '\n') || (string[i] == '\r'))
  3121        break;
  3122    }
  3123    string[i]='\0';
string变量是MaxTextExtent长度的字符数组，如果"i"恰好为MaxTextExtent的话就会在3123行触发单字节溢出。有多个图形文件处理例程可以触发这个函数，大多数情况下触发的都是栈溢出，但也可能为堆溢出。
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