关于ImageMagick存在远程代码执行高危漏洞的安全公告

2016-05-06 09:28:24

安全公告编号:CNTA-2016-0018

近日,国家信息安全漏洞共享平台(CNVD)收录了ImageMagick远程代码执行漏洞(CNVD-2016-02721,对应CVE-2016-3714)。远程攻击者利用漏洞通过上传恶意构造的图像文件,可在目标服务器执行任意代码,进而获得网站服务器的控制权。由于有多种编程语言对ImageMagick提供调用支持且一些广泛应用的   Web中间件在部署中包含相关功能,对互联网站安全构成重大威胁。

一、漏洞情况分析

ImageMagick是一款开源的创建、编辑、合成图片的软件。可以读取、转换、写入多种格式的图片,遵守GPL许可协议,可运行于大多数的操作系统。

ImageMagick在MagickCore/constitute.c的ReadImage函数中解析图片,当图片地址以https://开头时,就会调用InvokeDelegate。MagickCore/delegate.c定义了委托,最终InvokeDelegate调用ExternalDelegateCommand执行命令。攻击者利用漏洞上传一个恶意图像到目标Web服务器上,程序解析图像后可执行嵌入的任意代码,进而可获取服务器端敏感信息,甚至获取服务器控制权限。

 CNVD对该漏洞的综合评级为“高危”。

二、漏洞影响范围

漏洞影响ImageMagick  6.9.3-9及以下的所有版本。

ImageMagick在网站服务器中应用十分广泛,包括Perl、C++、PHP、Python、Ruby等主流编程语言都提供了ImageMagick扩展支持,且WordPress、Drupal等应用非常广泛的CMS系统软件也提供了ImageMagick选项,还包括其他调用了ImageMagick的库实现图片处理、渲染等功能的应用。此外,如果通过shell 中的convert 命令实现一些图片处理功能,也会受到此漏洞影响。

根据国内民间漏洞报告平台的收录情况,已经有多家知名互联网企业网站系统受到漏洞威胁的案例。

三、漏洞修复建议

目前,互联网上已经披露了该漏洞的利用代码,厂商尚未发布漏洞修复程序,预计近期在ImageMagick 7.0.1-1和6.9.3-10版本中修复该漏洞。CNVD建议相关用户关注厂商主页更新,及时下载使用,避免引发漏洞相关的网络安全事件。

在厂商发布新版本之前,建议采用如下措施:通过配置策略文件暂时禁用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" />

</policymap>

附:参考链接:

https://imagetragick.com/ (漏洞信息专题网站)

https://github.com/ImageTragick/PoCs (本地漏洞检测脚本)

https://www.exploit-db.com/exploits/39767/

http://www.cnvd.org.cn/flaw/show/CNVD-2016-02721

http://www.freebuf.com/vuls/103504.html