安全预警:ImageMagick图象处理软件存在远程代码执行(CVE-2016-3714)

简介

ImageMagick是一款开源图片处理库,支持PHP、Ruby、NodeJS和Python等多种语言,使用非常广泛。包括PHP imagick、Ruby rmagick和paperclip以及NodeJS imagemagick等多个图片处理插件都依赖它运行。所以上述语言都有可能是被攻击对象。

漏洞描述:

据ImageMagick官方,目前程序存在一处远程命令执行漏洞(CVE-2016-3714),当其处理的上传图片带有攻击代码时,可远程实现远程命令执行,进而可能控制服务器,此漏洞被命名为ImageTragick。

ImageMagick是一款开源图片处理库,支持PHP、Ruby、NodeJS和Python等多种语言,使用非常广泛。包括PHP imagick、Ruby rmagick和paperclip以及NodeJS imagemagick等多个图片处理插件都依赖它运行。

可能的影响范围包括各类流行的内容管理系统(CMS)。

影响影响范围:

1、调用ImageMagick的库实现图片处理和渲染的应用。

ImageMagick 为多种语言提供了api。

2、很多流行的内容管理系统(CMS)使用了ImageMagick ,例如 WordPress 的图片处理插件已被证实存在远程命令执行的漏洞(Author 及以上权限用户执行)。

其他例如MediaWiki、phpBB和vBulletin 使用了ImageMagick 库生成缩略图,还有一些程序如LyX使用ImageMagick转换图片格式。以上应用可能受到此漏洞影响。

3、如果通过shell 中的convert 命令实现一些图片处理功能,也会受到此漏洞影响。

4、对docker的影响:如果用户有使用imagick组件处理图片,并且允许用户进行上传图片,那么就可以执行任意命令,请按照下方方法进行安全配置后,重新生成镜像上传到云环境。

漏洞等级:

高危

解决方案

通过配置策略文件暂时禁用ImageMagick,可在 /etc/ImageMagick/policy.xml 文件中添加如下代码:

<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" />
 <policy domain="coder" rights="none"pattern="TEXT" />
 <policy domain="coder" rights="none"pattern="SHOW" />
 <policy domain="coder" rights="none"pattern="WIN" />
 <policy domain="coder" rights="none"pattern="PLT" />
</policymap>

更多信息

imagetragick.com : ImageMagick Is On Fire — CVE-2016–3714 TL;DR

漏洞本地检测POC :GitHub