总机:020-87516161 传真:020-87516161-8040
地址:广州市天河北路898号信源大厦3206-3211室 邮编:510660
安全公告编号: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