6年的老漏洞”Loop Bug”重现,几近全部PDF阅读器中招

近日,德国软件开发商HannoBöck称,一个早在2011年就被发现的PDF解析库中的隐蔽bug,如今在大多数主流的PDF阅读器中再次出现。

该bug最初是由德国软件开发商Andreas Bogk,在Evince(GNOME桌面环境下的一个PDF,PostScript,DjVu,TIFF与DVI文档查看工具)的解析器组件中被发现的,当时Andreas Bogk还协助Evince修复了该漏洞,并在2011年的混沌通信大会上展示了该漏洞。

Bogk发现具有特定结构的PDF文档(PDF文件交叉引用内部参照表)会导致Evince应用程序进入一个死循环,并占用本地所有的CPU资源,迅速耗尽内存,从而使Evince应用程序崩溃。

这个bug被大多数人所忽略,人们从未将它视为一个主要的安全问题,认为这只是一个安装在Linux桌面上的小应用程序。

六年前的bug在主流的PDF阅读器中重现

六年后的今天,曾经被人们忽视的小问题,如今却转变成了一个大问题。Böck表示,已经在众多知名的PDF阅读器中发现了类似的问题。

例如,Böck在PDFium中发现了Bogk当时报告的“loop”bug,该库允许Chrome无需任何插件就可以在浏览器中,渲染PDF文档。

Firefox中的pdf.js库也受到影响。此外,Pdf.js库还被用在了GitHub上,用于在网站界面渲染PDF文档,而无需用户下载文件并在第三方应用程序中查看。因此,GitHub的实现也极易受到“loop”bug的影响。

在Windows 8或更高版本中默认安装的Windows Runtime PDF Renderer库或WinRT PDF也受此影响。这是Edge内置的PDF查看器,也是Windows“Reader App”的默认PDF解析器。

类似地,开源PDF解析器(如Ghostscript和QPDF)同样也受到了影响。这也意味着许多其他已经安装部署Ghostscript或QPDF的web和桌面,都将受到该漏洞的影响。

Böck已向所有受影响的产品厂商报告了旧的错误信息,他们正准备为此推出补丁程序。

Adobe Reader未受影响

Adobe Reader和Apple的OS X内置PDF查看器并未受到影响。

研究人员说,他主要是通过Fuzzing技术来对每个项目库进行测试后发现问题的。Fuzzing是一种基本的安全测试技术,用于测试人员分析程序的异常输出响应。Google的安全专家非常热衷于该技术,并极力向任何有兴趣倾听他们建议的人推荐该技术。

Böck指责受影响项目的管理员,没有运行更新的测试套件。软件开发人员不应该在没有成功通过测试套件的情况下,发布新版本的应用程序。Böck同时还建议PDF应用程序,将Bogk“loop bug”演示文件添加到他们的测试用例中。

立即加入让云安全“看得清、防得住、追得到”
需求提交
马上咨询