CVE-2019-10216: ghostscript沙箱绕过命令执行漏洞预警

 

0x00 漏洞背景

2019年8月2日晚,Artifex官方在ghostscriptf的master分支上提交合并Bug 701394的修复。旨在修复 CVE-2019-10216 漏洞。该漏洞可以直接绕过 ghostscript 的安全沙箱,导致攻击者可以读取任意文件或命令执行。

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

 

0x01 漏洞详情

.buildfont1 该指令在执行的时候没有正确保护堆栈中的安全状态,导致 -dSAFER 安全沙箱状态被绕过。

在此次针对修复的地方是为全部 .forceput 这一特殊指令增加 executeonly 限制。关于这两个字段的详细说明可以参见往期预警

CVE-2019-6116: ghostscript沙箱绕过命令执行漏洞预警 – 360CERT

 

0x02 影响版本

commit 5b85ddd19a8420a1bd2d5529325be35d78e94234 均受到影响

ghostscript作为图像处理格式转换的底层应用。

漏洞导致所有引用ghostscript的上游应用受到影响。 涉及但不限于:

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

 

0x03 修复建议

建议更新到(5b85ddd19a8420a1bd2d5529325be35d78e94234)之后的版本,或者直接重新拉取master分支进行更新

debain/redhat 等发行版均以更新上游package

P.S. redhat 5,6 均超出支持年限范围,请广大用户注意,及时进行手动修复更新

CVE-2019-10216 – Red Hat Customer Portal

CVE-2019-10216

若无法更新可先尝试禁用使用gs解析ps文件

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

<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" />
<policy domain="coder" rights="none" pattern="PCD" />
</policymap>

但 taviso 提到 policy 是十分宽松的,可能会存在一些没有提及的格式存在绕过。

360CERT 建议用户及及时进行版本升级,同时对线上涉及图像、pdf等格式的处理的服务进行版本自查。

 

0x04 时间线

2019-08-02 Artifex官方在主分支上更新补丁

2019-08-12 360CERT监测到各发行版漏洞预警

2019-08-13 360CERT发布预警

 

0x05 参考链接

  1. CVE-2019-10216
  2. oss-security – ghostscript CVE-2019-10216: -dSAFER escape via .buildfont1
(完)