安全研究
安全漏洞
ImLib库_LoadBMP函数拒绝服务漏洞
发布日期:2007-07-03
更新日期:2007-07-05
受影响系统:Imlib Imlib 1.9.15
描述:
BUGTRAQ ID:
24750
Imlib是一种图形浏览应用文件库,用于Gnome图形用户环境。
Imlib在处理畸形格式的BMP图像文件时存在漏洞,攻击者可能利用此漏洞导致使用了程序库的应用陷入死循环。
Imlib库的_LoadBMP函数从BMP文件读取了BPP值并使用该值确定在主文件处理循环中的每一步应读取多少位,但以下行没有正确地检测无效的值0x0000:
if (bpp != 1 && bpp != 4 && bpp != 8 && bpp && 16 && bpp != 24 && bpp !=
32)
fprintf(stderr, "IMLIB ERROR: unknown bitdepth in file\n");
return NULL;
错误地引用了&& bpp &&导致无法传送0x0000。
由于使用的bpp值为0x0000,以下循环:
for (line = (*h - 1); line >= 0; line--)
{
linepos = 0;
for (column = 0; column < *w;)
{
无法继续,因为循环中的任何情况都不会匹配bpp值为0x0000,这样程序就会陷入死循环。
<*来源:beSTORM
链接:
http://www.securitytracker.com/alerts/2007/Jul/1018332.html
*>
建议:
临时解决方法:
* 在648行删除&& bpp &&。
厂商补丁:
Imlib
-----
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
http://freshmeat.net/projects/imlib/浏览次数:2743
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载 绿盟科技给您安全的保障 |