GhostScript 沙箱绕过漏洞

长 亭 漏 洞 预 警

GhostScript 沙箱绕过

(任意文件读写)漏洞

(CVE-2018-17961)

事件来源

距离上一次 GhostScript 沙盒绕过漏洞,仅过了不到两个月,在 10 月 9 号,Tavis Ormandy 通过公开邮件列表,又一次指出 GhostScript 的安全沙箱可以被绕过,通过构造恶意的图片内容,将可以造成以当前用户权限的任意文件读写:

https://seclists.org/oss-sec/2018/q4/28

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

ImageMagick 是一款广泛使用的图像处理软件,有相当多的网站使用它来进行图像处理。它被许多编程语言所支持,包括 Perl,C++,PHP,Python 和 Ruby 等,并被部署在数以百万计的网站,博客,社交媒体平台和流行的内容管理系统(CMS),例如 WordPress 和 Drupal。

Python PIL 是 Python 语言中处理图片的第三方模块。

漏洞描述

此漏洞导致攻击者可以通过上传恶意构造的图像文件,当目标服务器在对图像进行图像裁剪、转换等处理时即会执行攻击者指定的恶意文件读写操作。攻击者可通过利用此漏洞对特定文件的内容进行篡改,从而进一步达到任意命令执行的目的。

Ubuntu 16.04 本地使用最新版 GhostScript 9.25 测试 PoC,成功读取/etc/passwd文件,以及向~/.bashrc写入命令后门:

ImageMagick 7.0.8-12 测试:

GhostScript 沙盒每次绕过,都会造成大范围大面积的严重安全影响。无论是前两年还是前两个月的沙盒绕过漏洞,都造成过国内外诸多厂商及开源程序中招,并且许多厂商因此遭受严重损失。

­­

影响范围

使用 GhostScript、ImageMagick 等对来源由用户可控的图像数据进行图像处理的网站和程序。

解决方案

尽管目前官方 git 已经提交相关修复的 commit:

但现在 GhostScript 官网下载的最新版 9.25 依然可以利用此漏洞。

故作为临时缓解方案,可以参考:

1. 卸载 GhostScript

以 Ubuntu 系统为例,执行以下命令以卸载 GhostScript:

sudo apt-get remove ghostscript

2. 修改 ImageMagick 的 policy 文件,默认位置为/etc/ImageMagick/policy.xml,在

中加入以下

(即禁用PS、EPS、PDF、XPScoders):

参考资料

https://seclists.org/oss-sec/2018/q4/28

https://bugs.chromium.org/p/project-zero/issues/detail?id=1682

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181010B0YGOK00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券