![如何验证 ImageMagick 的安装不受到 CVE-2016-3714 的攻击](https://linux22.com/image/682264/%E5%A6%82%E4%BD%95%E9%AA%8C%E8%AF%81%20ImageMagick%20%E7%9A%84%E5%AE%89%E8%A3%85%E4%B8%8D%E5%8F%97%E5%88%B0%20CVE-2016-3714%20%E7%9A%84%E6%94%BB%E5%87%BB.png)
CVE-2016-3714于 2016 年 5 月 3 日公布。不幸的是,这个漏洞被命名为图像Tragick并受到了一些媒体的关注(例如,这篇 ArsTechnica 文章)。
在更新的 ImageMagick 软件包近期发布之前,我们需要一种解决方法。解决方法相当简单。只需使用策略文件来禁用易受攻击的编码器。策略文件必须如下所示:
<policymap>
<policy domain="coder" rights="none" pattern="EPHEMERAL" />
<policy domain="coder" rights="none" pattern="URL" />
<policy domain="coder" rights="none" pattern="HTTPS" />
<policy domain="coder" rights="none" pattern="MVG" />
<policy domain="coder" rights="none" pattern="MSL" />
</policymap>
如果系统管理员安装了上面显示的 policy.xml 文件,他们将如何独立确认 ImageMagick 的安装不再存在漏洞?
答案1
卡里姆·瓦利耶夫发布信息到 oss-security 邮件列表,展示如何检查 ImageMagick 的本地安装以查看是否存在漏洞。
创建一个名为exploit.mvg的文件,内容如下:
push graphic-context
viewbox 0 0 640 480
fill 'url(https://example.com/image.jpg"|ls "-la)'
pop graphic-context
然后运行转换实用程序:
$ convert exploit.mvg out.png
如果您看到本地目录列表,则表示您的 ImageMagick 安装已完成不是得到充分保护。