Poppler ‘create_surface_from_thumbnail_data()’整数溢出漏洞

漏洞起因
边界条件错误
 
影响系统
Poppler poppler 0.12
Poppler poppler 0.10.6
Poppler poppler 0.10.4
Poppler poppler 0.10.3
Poppler poppler 0.8.4
Poppler poppler 0.8
Poppler poppler 0.5.4
Poppler poppler 0.5.3
Poppler poppler 0.5.1
Poppler poppler 0.4.5
Poppler poppler 0.4.2
Poppler poppler 0.4.1
Poppler poppler 0.3.2
 
不受影响系统
 
危害
远程攻击者可以利用漏洞使应用程序崩溃。
 
攻击所需条件
攻击者必须访问Poppler。
 
漏洞信息
Poppler是一款用来生成PDF 的C++类库,从xpdf继承而来。
Poppler create_surface_from_thumbnail_data()函数存在整数溢出,cairo_pixels缓冲区分配如下:
cairo_pixels = (guchar *)g_malloc (4 * width * height);
其中width / height值从PDF文件中读取,Page::loadThumb()函数对值进行了一些验证,但是不能充分的防止溢出:
if (width > INT_MAX / 3 / height)
 
测试方法
 
厂商解决方案
目前没有详细解决方案提供:
http://poppler.freedesktop.org/
 
漏洞提供者
Ludwig Nussel
  
 
漏洞消息链接
https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2009-3607

发表评论?

0 条评论。

发表评论