ImageMagick远程代码执行漏洞CVE-2016-8707 绿盟科技发布安全威胁通告

简介:

在 ImageMagicks 的转换实用程序中, TIFF 图像压缩处理存在一个写边界的问题。攻击者利用一个精心编制的 TIFF 文件,可以导致的界限写,特别是可以利用的情况下进入远程执行代码。任何用户都可以利用特殊构造的TIFF触发这个漏洞。

针对这个漏洞,绿盟科技发布了安全威胁通告,全文见文末

ImageMagick远程代码执行漏洞CVE-2016-8707

此漏洞目前是与 ImageMagick转换实用程序捆绑在一起,它是一块非常受欢迎的软件。因此许多使用这个程序进行图像格式转换的 web 应用程序都会受到影响。当试图缩小Adobe Deflate压缩过的 Tiff 图像就会出现这个漏洞。

此漏洞出现在 ImageMagick 处理图像压缩数据的方式。保存解压缩所需的数据大小是经过计算,然后传递到 LibTiff 中的,但它不足以容纳解压缩的流。

The buffer is calculated here:

pixels=(unsigned char *) GetQuantumPixels(quantum_info);

and then passed in here as op:

static int
ZIPDecode(TIFF* tif, uint8* op, tmsize_t occ, uint16 s)
{

Finally this buffer is used as the next available buffer in a stream which has more data than is available and the out of bounds write occurs.

  sp->stream.next_out = op;

  ...

  int state = inflate(&sp->stream, Z_PARTIAL_FLUSH);

This is a controlled out of bounds write that under proper circumstances could be exploited into full remote code execution.

Crash Information

Crashed thread log =
: Dispatch queue: com.apple.main-thread
frame #0: 0x00007fff9563d9c2 libz.1.dylib`inflate + 2549
frame #1: 0x0000000100fec96a libtiff.5.dylib`ZIPDecode(tif=0x0000000103bf9bb0, op=<unavailable>,
occ=<unavailable>,s=<unavailable>) + 186 at tif_zip.c:185
frame #2: 0x0000000100fe89d5 libtiff.5.dylib`TIFFReadScanline(tif=0x0000000103bf9bb0, buf=0x0000000105114ef0, row=0,
sample=0) + 693 at tif_read.c:299
frame #3: 0x0000000100979499 libMagickCore-7.Q16HDRI.0.dylib`ReadTIFFImage [inlined] TIFFReadPixels(bits_per_sample=0) +
27993
at tiff.c:873
frame #4: 0x000000010097948b libMagickCore-7.Q16HDRI.0.dylib`ReadTIFFImage(image_info=0x0000000101cb8de0,
exception=0x0000000101b4bfc0) + 27979 at tiff.c:1708
frame #5: 0x00000001000f69e8 libMagickCore-7.Q16HDRI.0.dylib`ReadImage(image_info=0x0000000101c61de0,
exception=0x0000000101b4bfc0) + 3720 at constitute.c:554
frame #6: 0x00000001000f9557 libMagickCore-7.Q16HDRI.0.dylib`ReadImages(image_info=0x0000000101bd4de0,
filename="crash1.tif", exception=0x0000000101b4bfc0) + 1447

---
exception=EXC_BAD_ACCESS:signal=11:is_exploitable=yes:instruction_disassembly=.byte 0xc5 #bad
opcode:instruction_address=0x00007fff8b1b303b:access_type=unknown:access_address=0x000000010985b000:
Crash accessing invalid address.  Consider running it again with libgmalloc(3) to see if the log changes.

ImageMagick压缩TIFF图片远程代码执行漏洞安全威胁通告

2016年12月3日,talosintelligence.com网站发布了一条关于ImageMagick远程代码执行漏洞的消息,漏洞编号为CVE-2016-8707。ImageMagick在压缩TIFF图片时存在可利用的内存越界写入问题,在特别情况下该问题会造成远程代码执行。

    相关链接地址如下:

http://www.talosintelligence.com/reports/TALOS-2016-0216/

漏洞危害

成功利用漏洞后,导致远程代码执行。

什么是ImageMagick?

ImageMagick软件是用C语言编写的,可用来显示、转换以及编辑图形,支持超过200种图像文件格式,并且可以跨平台运行。

ImageMagick软件被许多编程语言所支持,包括Perl,C++,PHP,Python和Ruby等,并被部署在数以百万计的网站,博客,社交媒体平台和流行的内容管理系统(CMS)。

ImageMagick漏洞影响范围

受影响的版本

ImageMagick version < 7.0.3-9

不受影响的版本

ImageMagick version = 7.0.3-9

规避方案

官方已经在新版本中修复了该漏洞,建议用户升级到不受影响的最新版本(7.0.3-9版本),下载页面如下:

http://www.imagemagick.org/script/binary-releases.php

绿盟科技声明

本安全公告仅用来描述可能存在的安全问题,绿盟科技不为此安全公告提供任何保证或承诺。由于传播、利用此安全公告所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,绿盟科技以及安全公告作者不为此承担任何责任。绿盟科技拥有对此安全公告的修改和解释权。如欲转载或传播此安全公告,必须保证此安全公告的完整性,包括版权声明等全部内容。未经绿盟科技允许,不得任意修改或者增减此安全公告内容,不得以任何方式将其用于商业目的。

ImageMagick远程代码执行漏洞CVE-2016-8707相关文章请参看

ImageMagick再爆核心漏洞 站长小心



原文发布时间:2017年3月24日 

本文由:绿盟科技 发布,版权归属于原作者

原文链接:http://toutiao.secjia.com/imagemagick-remote-code-execution-vulnerability-cve-2016-8707

本文来自云栖社区合作伙伴安全加,了解相关信息可以关注安全加网站

相关文章
|
安全 网络安全
关于OpenSSH远程代码执行漏洞的通报
本文讲的是关于OpenSSH远程代码执行漏洞的通报,近日,互联网上披露了有关“OpenSSH远程代码执行漏洞(CNNVD-201612-616)”的相关情况,引发安全研究人员高度关注。
2008 0