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。
libexif libexif < 0.6.14
厂商补丁:
libexif
-------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
<a href="http://downloads.sourceforge.net/libexif/libexif-0.6.14.tar.bz2?modtime=1178817867&big_mirror=0" target="_blank">http://downloads.sourceforge.net/libexif/libexif-0.6.14.tar.bz2?modtime=1178817867&big_mirror=0</a>
暂无评论