安全研究

安全漏洞
Ghostscript无限递归调用远程代码执行漏洞

发布日期:2010-05-11
更新日期:2010-05-12

受影响系统:
Ghostscript Ghostscript 8.70
Ghostscript Ghostscript 8.64
Ghostscript Ghostscript 8.62
Ghostscript Ghostscript 8.61
描述:
BUGTRAQ  ID: 40107
CVE ID: CVE-2010-1628

Ghostscript是用于显示PostScript文件或向非PostScript打印机打印这些文件的程序。

Ghostscript解释器没有正确的处理某些无限递归调用情况。如果.ps文件中包含有类似于以下的序列:

/A{pop 0 A 0} bind def
/product A 0

递归调用就会耗尽解释器的内部栈。在这种情况下解释器会跳转到栈末尾(或越界)的地址继续执行,通常会触发分段错误。但通过更改调用到无限递归过程之前的变量定义数,攻击者也可以获得对跳转地址的控制。结合引入shellcode,最终可能导致执行任意代码。

<*来源:Dan Rosenberg
  
  链接:http://marc.info/?l=full-disclosure&m=127362409526702&w=2
        https://bugs.launchpad.net/ubuntu/+source/ghostscript/+bug/546009
        http://secunia.com/advisories/39753/
*>

测试方法:

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

http://launchpadlibrarian.net/41836803/infinite.ps

建议:
厂商补丁:

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

http://www.ghostscript.com/

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