安全研究

安全漏洞
LibEXIF exif_data_load_data_entry函数远程整数溢出漏洞

发布日期:2007-05-11
更新日期:2007-05-14

受影响系统:
libexif libexif < 0.6.14
不受影响系统:
libexif libexif 0.6.14
描述:
BUGTRAQ  ID: 23927
CVE(CAN) ID: CVE-2007-2645

libexif是用C编写的函数库,用于从图形文件中读写EXIF元信息。

libexif在处理图形文件中的畸形EXIF信息时存在整数溢出漏洞,远程攻击者可能利用此漏洞控制客户机。

如果用户受骗打开了恶意的图形文件的话,就可能触发这个溢出,导致使用该函数库的应用程序崩溃或执行任意指令。漏洞代码位于libexif/exif-data.c文件186行的exif_data_load_data_entry()函数:

/* Sanity check */
if (size < doff + s)
return;

entry->data = exif_data_alloc (data, s);
if (entry->data) {
entry->size = s;
memcpy (entry->data, d + doff, s);
}

对于以下例子:

s=296
doff=4294901874
s=65535

doff+s是4294967409,这个值小于s,而C语言使用2的32次方(2^sizeof(int))算法,因此doff+s为113。

<*来源:Victor Stinner (victor.stinner@haypocalc.com
  
  链接:http://secunia.com/advisories/25235/
        http://sourceforge.net/tracker/index.php?func=detail&aid=1716196&group_id=12272&atid=112272
        http://security.gentoo.org/glsa/glsa-200706-01.xml
*>

测试方法:

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

http://sourceforge.net/tracker/index.php?func=detail&aid=1716196&group_id=12272&atid=112272

建议:
厂商补丁:

Gentoo
------
Gentoo已经为此发布了一个安全公告(GLSA-200706-01)以及相应补丁:
GLSA-200706-01:libexif: Integer overflow vulnerability
链接:http://security.gentoo.org/glsa/glsa-200706-01.xml

所有libexif用户都应升级到最新版本:

    # emerge --sync
    # emerge --ask --oneshot --verbose ">=media-libs/libexif-0.6.15"
    # revdep-rebuild --library=/usr/lib/libexif.so

libexif
-------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

http://downloads.sourceforge.net/libexif/libexif-0.6.14.tar.bz2?modtime=1178817867&big_mirror=0

浏览次数:3248
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障