ghostscript命令执行漏洞预警的分析
这期内容当中小编将会给大家带来有关ghostscript命令执行漏洞预警的分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
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进行调试。
可以看到在此处因为-dSAFER 被置为1
可以看到这里因为restore操作成功绕过了限制将LockSafetyParams成功置为0
在最后调用pope执行%pipe%命令之前的函数中依旧为0并且没有任何操作将LockSafetyParams的值修复。成功造成命令执行。
可见命令直接被带入popen函数。
0x03 利用效果
漏洞利用效果如下:
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对漏洞分析跟进,发布预警分析
上述就是小编为大家分享的ghostscript命令执行漏洞预警的分析了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网行业资讯频道。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341