ghostscript命令执行漏洞预警

阅读量309085

|评论3

发布时间 : 2018-08-22 21:28:40

0x00 漏洞背景

8 月 21 号,Tavis Ormandy 通过公开邮件列表(hxxps://bugs.chromium[.]org/p/project-zero/issues/detail?id=1640),再次指出 ghostscript 的安全沙箱可以被绕过,通过构造恶意的图片内容,可造成命令执行。

ghostscript应用广泛,ImageMagick、python-matplotlib、libmagick 等图像处理应用均有引用。

在ghostscript中由于以往的安全事件,针对安全问题gs官方采用增加参数-dSAFER来开启安全沙箱,但该沙箱在程序执行过程中由LockSafetyParams这个值进行控制,此次Taviso发现通过restore操作会将该值成功覆盖,导致安全沙箱被绕过,引发命令执行漏洞。

 

0x01 漏洞影响

version <= 9.23(全版本、全平台)

官方未出缓解措施,最新版本受到影响。

漏洞导致所有引用ghostscript的上游应用收到影响。 常见应用如下:

  • imagemagick
  • libmagick
  • graphicsmagick
  • gimp
  • python-matplotlib
  • texlive-core
  • texmacs
  • latex2html
  • latex2rtf

 

0x02 详细分析

对ghostscript进行调试。

alt

可以看到在此处因为-dSAFER 被置为1

alt

可以看到这里因为restore操作成功绕过了限制将LockSafetyParams成功置为0

alt

alt

在最后调用pope执行%pipe%命令之前的函数中依旧为0并且没有任何操作将LockSafetyParams的值修复。成功造成命令执行。

alt

可见命令直接被带入popen函数。

 

0x03 利用效果

漏洞利用效果如下: alt

alt

 

0x04 缓解措施

目前官方未给出缓解措施,建议卸载ghostscript。

使用ImageMagick,建议修改policy文件(默认位置:/etc/ImageMagick/policy.xml),在 <policymap> 中加入以下 <policy>(即禁用 PS、EPS、PDF、XPS coders):

<policymap>
<policy domain="coder" rights="none" pattern="PS" />
<policy domain="coder" rights="none" pattern="EPS" />
<policy domain="coder" rights="none" pattern="PDF" />
<policy domain="coder" rights="none" pattern="XPS" />
</policymap>

 

0x05 时间线

2018-08-18 taviso提交漏洞

2018-08-22 漏洞信息公开

2018-08-22 360CERT对漏洞分析跟进,发布预警分析

 

0x06 参考链接

  1. 邮件列表
  2. Ghostscript sandbox bypass lead ImageMagick to remote code execution
  3. multiple ghostscript -dSAFER sandbox problems

本文由360CERT安全通告原创发布

转载,请参考转载声明,注明出处: https://www.anquanke.com/post/id/157513

安全客 - 有思想的安全新媒体

分享到:微信
+10赞
收藏
360CERT安全通告
分享到:微信

发表评论

内容需知
  • 投稿须知
  • 转载须知
  • 官网QQ群8:819797106
  • 官网QQ群3:830462644(已满)
  • 官网QQ群2:814450983(已满)
  • 官网QQ群1:702511263(已满)
合作单位
  • 安全客
  • 安全客
Copyright © 北京奇虎科技有限公司 360网络攻防实验室 安全客 All Rights Reserved 京ICP备08010314号-66