漏洞信息详情
SDL_image无效GIF文件LWZ Minimum Code Size远程缓冲区溢出漏洞
- CNNVD编号:CNNVD-200802-003
- 危害等级: 高危
- CVE编号:
CVE-2007-6697
- 漏洞类型:
缓冲区溢出
- 发布时间:
2008-01-23
- 威胁类型:
远程
- 更新时间:
2008-02-01
- 厂 商:
sdl - 漏洞来源:
Gynvael Coldwind -
漏洞简介
SDL_Image是用于处理图形文件的开源函数库。
SDL_Image在处理畸形格式的图形文件时存在漏洞,远程攻击者可能利用此漏洞通过诱使用户处理恶意文件控制用户系统。
SDL_Image库没有正确地处理Table Based Image Data头中带有无效LWZ Minimum Code Size的图形文件。标准允许代码的最大大小为12位,但SDL_image没有执行检查,因此可能触发缓冲区溢出。以下是IMG_gif.c文件的ReadImage函数中的漏洞代码:
…
unsigned char c;
…
if (LWZReadByte(src, TRUE, c) < 0) {
RWSetMsg(\”error reading image\”);
return NULL;
}
/*
** If this is an \”uninteresting picture\” ignore it.
*/
if (ignore) {
while (LWZReadByte(src, FALSE, c) >= 0)
;
return NULL;
}
…
请注意c值未经任何检查便传送给了LZWReadByte。
然后在LWZReadByte函数中可能会触发栈溢出:
LWZReadByte(SDL_RWops *src, int flag, int input_code_size)
…
static int table[2][(1 << MAX_LWZ_BITS)];
…
set_code_size = input_code_size;
…
clear_code = 1 << set_code_size;
…
for (i = 0; i < clear_code; ++i) {
table[0][i] = 0;
table[1][i] = i;
}
…
漏洞公告
目前厂商已经发布了升级补丁以修复这个安全问题,补丁下载链接:
HTTP://www.libsdl.org/cgi/viewvc.cgi/trunk/SDL_image/IMG_gif.c?r1=2970&r2=3462
参考网址
来源 :www.libsdl.org
链接:http://www.libsdl.org/cgi/viewvc.cgi/trunk/SDL_image/CHANGES?revision=3462&view=markup
来源 : XF
名称: sdlimage-gif-bo(39865)
链接:http://xforce.iss.net/xforce/xfdb/39865
来源 : BID
名称: 27417
链接:http://www.securityfocus.com/bid/27417
来源 : www.libsdl.org
链接:http://www.libsdl.org/cgi/viewvc.cgi/trunk/SDL_image/IMG_gif.c?r1=2970&r2=3462
来源 : VUPEN
名称: ADV-2008-0266
链接:http://www.frsirt.com/english/advisories/2008/0266
来源 : MISC
链接:http://vexillium.org/?sec-sdlgif
来源 : SECUNIA
名称: 28640
链接:http://secunia.com/advisories/28640
来源 : BUGTRAQ
名称: 20080123 SDL_Image 1.2.6 and prior GIF handling buffer overflow
链接:http://marc.info/?l=bugtraq&m=120110205511630&w=2
来源 : FEDORA
名称: FEDORA-2008-1231
链接:https://www.redhat.com/archives/fedora-package-announce/2008-February/msg00039.html
来源 : FEDORA
名称: FEDORA-2008-1208
链接:https://www.redhat.com/archives/fedora-package-announce/2008-February/msg00008.html
来源 : issues.rpath.com
链接:https://issues.rpath.com/browse/RPL-2206
来源 : UBUNTU
名称: USN-595-1
链接:http://www.ubuntu.com/usn/usn-595-1
来源 : BUGTRAQ
名称: 20080213 rPSA-2008-0061-1 SDL_image
链接:http://www.securityfocus.com/archive/1/archive/1/488079/100/0/threaded
来源 : MANDRIVA
名称: MDVSA-2008:040
链接:http://www.mandriva.com/security/advisories?name=MDVSA-2008:040
来源 : GENTOO
名称: GLSA-200802-01
链接:http://www.gentoo.org/security/en/glsa/glsa-200802-01.xml
来源 : DEBIAN
名称: DSA-1493
链接:http://www.debian.org/security/2008/dsa-1493
来源: wiki.rpath.com
链接:http://wiki.rpath.com/Advisories:rPSA-2008-0061
来源: SECUNIA
名称: 29542
链接:http://secunia.com/advisories/29542
来源 : SECUNIA
名称: 28869
链接:http://secunia.com/advisories/28869
来源: SECUNIA
名称: 28850
链接:http://secunia.com/advisories/28850
来源: SECUNIA
名称: 28837
链接:http://secunia.com/advisories/28837
来源: SECUNIA
名称: 28830
链接:http://secunia.com/advisories/28830
来源: SECUNIA
名称: 28752
链接:http://secunia.com/advisories/28752
来源:bugs.gentoo.org
链接:http://bugs.gentoo.org/show_bug.cgi?id=207933