目前所有版本的GraphicsMagick和ImageMagick都支持打开文件,当文件名的第一个字符为“|”,则文件名会被传递给shell程序执行,导致(可能远程)代码执行。
文件打开操作位于源代码文件blob.c中的OpenBlob函数,不同于CVE-2016-3714的是,此漏洞存在于软件处理的核心代码中。
绿盟科技威胁预警级别
什么是ImageMagick?
ImageMagick软件是用C语言编写的,可用来显示、转换以及编辑图形,支持超过200中图像文件格式,并且可以跨平台运行。
ImageMagick软件被许多编程语言所支持,包括Perl,C++,PHP,Python和Ruby等,并被部署在数以百万计的网站,博客,社交媒体平台和流行的内容管理系统(CMS)。
什么是GraphicsMagick?
GraphicsMagick号称图像处理领域的瑞士军刀。 短小精悍的代码却提供了一个鲁棒、高效的工具和库集合,来处理图像的读取、写入和操作,支持超过88种图像格式,包括重要的DPX、GIF、JPEG、JPEG-2000、PNG、PDF、PNM和TIFF,可以在绝大多数的平台上使用,Linux、Mac、Windows等,GaphicsMagick不仅支持命令行的模式,同时也支持C、C++、Perl、PHP、Tcl、 Ruby等的调用,是从ImageMagick5.5.2 分支出来的。
影响的版本
目前所知到的所有版本
不受影响的版本
暂无
漏洞影响
可以通过如下方法测试系统是否受影响:
命令行测试,创建hello.txt文件
% rm -f hello.txt% convert '|echo Hello > hello.txt;' :% ls hello.txthello.txt
SVG文件
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">MVG文件
push graphic-contextviewbox 0 0 640 480image copy 200,200 100,100 "|echo Hello > hello.txt; cat /usr/lib/firefox/browser/icons/mozicon128.png"pop graphic-context缓解方法
编译过程中GraphicsMagick禁用HAVE_POPEN宏和ImageMagick禁用MAGICKCORE_HAVE_POPEN宏。
在配置文件中增加如下内容:
在源代码中增加如下项:
GraphicsMagick代码magick/blob.c中增加#undef HAVE_POPEN。
ImageMagick代码MagickCore/blob.c中增加#undef MAGICKCORE_HAVE_POPEN。
修复方案:
请关注官方网站,及时升级到最新版本!
绿盟科技安全团队会持续关注事态变化,后续会发布详细的分析报告、产品升级及解决方案,请广大用户随时关注。
绿盟科技威胁事件定级标准
级别 | 描述 |
高 | 影响范围比较广,危害严重,利用难度较低,7*24小时内部应急跟踪,24小时内完成技术分析、产品升级和防护方案。 |
中 | 影响范围可控,危害程度可控,利用难度较高,7*8小时内部应急跟踪,72小时内完成技术分析、产品升级和防护方案。 |
低 | 影响较小,危害程度较小。 |
声明
本安全公告仅用来描述可能存在的安全问题,绿盟科技不为此安全公告提供任何保证或承诺。
由于传播、利用此安全公告所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,绿盟科技以及安全公告作者不为此承担任何责任。
绿盟科技拥有对此安全公告的修改和解释权。如欲转载或传播此安全公告,必须保证此安全公告的完整性,包括版权声明等全部内容。
未经绿盟科技允许,不得任意修改或者增减此安全公告内容,不得以任何方式将其用于商业目的。
关于绿盟科技
绿盟科技(NSFOCUS Co., Ltd.)是中国网络安全领域的领导企业,致力于网络和系统安全问题的研究、高端网络安全产品的研发、销售与网络安全服务,在入侵检测/保护、远程评估、 DDoS攻击防护等方面提供具有国际竞争能力的先进产品,是国内最具安全服务经验的专业公司。
有关绿盟科技的详情请参见:
http://www.nsfocus.com
请点击屏幕右上方“…”
关注绿盟科技公众号
NSFOCUS-weixin
↑↑↑长按二维码,下载绿盟云APP