安全研究
安全漏洞
安全漏洞
所有系统
AIX
BSD(eg,OpenBSD)
Digital Unix
HP-UX
IRIX
Linux
FreeBSD
SCO UNIX
SunOS
Solaris
Windows
所有类型
远程进入系统
本地越权访问
拒绝服务攻击
嵌入恶意代码
Web数据接口
其他类型
Cairo PNG图形处理整数溢出漏洞
发布日期:
2007-11-16
更新日期:
2007-12-07
受影响系统:
Cairo Cairo < 1.4.12
不受影响系统:
Cairo Cairo 1.4.12
描述:
BUGTRAQ ID:
26650
CVE(CAN) ID:
CVE-2007-5503
Cairo过去叫做Xr或Xr/Xc,是一个跨平台的开放源代码的矢量图形函数库,可以提供高质量的显示和打印输出。
Cairo在处理畸形格式的PNG图像时存在漏洞,本地攻击者可能利用此漏洞控制用户系统。
Cairo的cairo-png.c文件的cairo_image_surface_create_from_png()函数支持从PNG图形文件创建新的图形面。该函数会调用read_png()解析输入文件名,然后分配内存容纳所生成的图形面:
cairo-png.c: read_png()
..
png_get_IHDR (png, info,
&png_width, &png_height, &depth,
&color_type, &interlace, NULL, NULL);
..
pixel_size = 4;
data = malloc (png_width * png_height * pixel_size);
..
png_width和png_height来自libpng的IHDR,默认下在libpng的pngconf.h中对图形宽度和高度做了如下限制:
# define PNG_USER_WIDTH_MAX 1000000L
# define PNG_USER_HEIGHT_MAX 1000000L
因此任何小于1000000的宽度和高度都可以通过libpng的限制,在read_png()函数中触发整数溢出。
<*来源:Peter Valchev
链接:
http://secunia.com/advisories/27880/
https://bugzilla.redhat.com/long_list.cgi?buglist=387431
http://cairographics.org/news/cairo-1.4.12/
https://www.redhat.com/support/errata/RHSA-2007-1078.html
*>
建议:
厂商补丁:
RedHat
------
RedHat已经为此发布了一个安全公告(RHSA-2007:1078-02)以及相应补丁:
RHSA-2007:1078-02:Important: cairo security update
链接:
https://www.redhat.com/support/errata/RHSA-2007-1078.html
Cairo
-----
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
http://gitweb.freedesktop.org/?p=cairo;a=commitdiff;h=5c7d2d14d78e4dfb1ef6d2c40f0910f177e07360
http://gitweb.freedesktop.org/?p=cairo;a=commitdiff;h=e49bcde27f88e21d5b8037a0089a226096f6514b
浏览次数:
3858
严重程度:
0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障
关于我们
公司介绍
公司荣誉
公司新闻
联系我们
公司总部
分支机构
海外机构
快速链接
绿盟云
绿盟威胁情报中心NTI
技术博客