BUGTRAQ ID: 25766
CVE(CAN) ID: CVE-2007-4987
ImageMagick是一款Unix/Linux平台下开源的图像查看和编辑工具。
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行触发单字节溢出。有多个图形文件处理例程可以触发这个函数,大多数情况下触发的都是栈溢出,但也可能为堆溢出。
ImageMagick ImageMagick < 6.3.5-9
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
<a href=“ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick-6.3.5-10.tar.gz” target=“_blank”>ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick-6.3.5-10.tar.gz</a>