作者简介: 千里目安全实验室,隶属某公司北京安全研究部。拥有专业核心白帽子团队和开发团队,致力于网络安全攻防技术的研究和积累,依靠创新理念引领工作,在攻与防的对立统一中寻求技术突破。
漏洞预警:ImageMagick图像处理软件远程代码执行漏洞(CVE-2016-3714)
5月3日,ImageMagick图像处理软件被公布存在一个严重的0day漏洞(CVE-2016-3714),攻击者通过此漏洞可执行任意命令,最终窃取重要信息取得服务器控制权。
千里百科
ImageMagick是一款功能强大、稳定并开源的图片处理库(类似库还有 gd等),可以读、写处理几乎所有常见的图片格式,网站程序可以利用 ImageMagick 对图片进行瘦身、旋转、锐化以及其他特效处理操作。
网站中常见的场景比如用户头像上传、远程图片抓取、图片在线编辑,图片压缩等功能就很可能使用该扩展进行处理。因此该漏洞可影响众多网站、博客、社交媒体平台和内容管理系统 ( CMS ),例如 WordPress、Drupal 等各种可上传图片的网站,特别是可批量裁剪图片的网站。
漏洞预警
ImageMagick的这个远程代码执行漏洞波及Wordpress博客网站以及Discuz论坛!有使用imageMagic模块来处理图片业务的公司&站长请注意:头像上传、证件上传、资质上传等方面的点尤其是使用到图片(批量)裁剪的业务场景。
漏洞描述
5 月 3 日, ImageMagick 的官方披露称,目前提供给用户使用的程序存在一处远程命令执行漏洞(CVE-2016–3714),当其处理的上传图片带有恶意攻击代码时,就可以远程执行任意代码&命令,获取服务器的操作权限。
ImageMagick 支持 PHP、Ruby、NodeJS 和 Python 等多种语言,使用非常广泛。包括 PHP imagick、Ruby rmagick 和 paperclip 以及 NodeJS imagemagick 等多个图片处理插件都依赖它运行。可能的影响范围包括各类流行的内容管理系统(CMS)。
在这个安全漏洞公布之后,此漏洞的EXP也随即被发布,并被命名为: ImageTragick。漏洞的 EXP 已经通过邮件和论坛广泛传播。
该漏洞的利用十分简单,通过上传一个恶意图像到目标 Web 服务器上,攻击者就可以执行任意代码,窃取重要信息,用户帐户等。
目前已有大批知名的网站受此漏洞波及,如下图:
漏洞分析
ImageMagick 在通过MagickCore/constitute.c 的 ReadImage 函数中解析图片时,使用 system() 指令调用来处理 HTTPS 请求,而对用户传入的 shell 参数没有做好过滤,导致此漏洞形成。
这个漏洞影响 ImageMagick6.9.3-9 以前是所有版本,包括 ubuntu 源中安装的ImageMagick。而官方在 6.9.3-9 版本中对此漏洞没有进行完全的修复。
检测方法
检测说明:在linux下运行: bash imagmagick.sh, 如果出现vulnerable证明有漏洞存在,如果出现 not vulnerable证明没有漏洞。
修复建议
1、将ImageMagick升级至6.9.3-10版本
2、通过配置策略文件暂时禁用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>
小伙伴们,赶快验证一下!
关于ImageMagick图像处理软件远程代码执行漏洞,您了解多少?
欢迎跟帖讨论! |