雅虎邮箱也“出血”了,雅虎选择弃用ImageMagic

雅虎邮箱也“出血”了,雅虎选择弃用ImageMagick

近日,图像处理库ImageMagick曝出Yahoobleed漏洞,雅虎邮箱个人邮件图片附件与身份凭证等面临泄露风险。漏洞曝出后,雅虎弃用了这个图像处理库。

ImageMagick

ImageMagick是一个广泛使用的开源图像处理库,自90年代就投入使用,可以让用户自主调整图像大小,缩放、裁剪,以及给图像加水印等。ImageMagick支持PHP,Python,Ruby,Perl,C ++等多种编程语言,可融入到各种项目、操作系统和应用之中,也包括雅虎、Facebook等大型网站。

这些年ImageMagick不断曝出漏洞。 2014年5月,安全研究人员发现ImageMagick允许“恶意构造图像强制Web服务器执行攻击代码”。2016年,又曝出了名为ImageTragick的0-day漏洞。利用这个漏洞,黑客可以往Web服务器上传恶意构造的图像,进而执行恶意代码。ImageMagick拥有很多“社交媒体和博客站点”用户,因此,其漏洞造成的影响也十分广泛。2016年10月,Facebook因为ImageMagick漏洞支付了40,000美元的奖金。

Yahoobleed

上周,安全研究员Chris Evans又发现了ImageMagick的一个漏洞,仅需发送18个字节的利用代码,就能令雅虎服务器泄露邮箱用户的图片。Evans因此获得了Yahoo高达14,000美元的奖励,也就是每个字节奖励778美元。

Evans将这个漏洞命名为“Yahoobleed#1”(YB1,雅虎出血?),YB1会导致存储在服务器内存中的图片泄露。

该漏洞实际上存在于RLE(Utah Raster Toolkit Run Length Encoded)图像格式中。攻击者只需创建一个恶意的RLE图像,并将其发送到受害者的电子邮箱,然后创建空RLE协议命令循环,就能造成信息泄露。

雅虎邮箱也“出血”了,雅虎选择弃用ImageMagick

Evans演示了该漏洞PoC,即利用该漏洞攻击雅虎电子邮件帐户。他创建了一个包含18字节漏洞利用代码的恶意图像,并将其作为电子邮件附件发送给自己。一旦附件送达雅虎的电子邮件服务器,ImageMagick就对图像进行处理,以生成缩略图和预览,但是由于执行了Evans的漏洞利用代码,Imagemagick生成的图像附件预览是损坏的。点击图像附件后,会启动图像预览窗格,展示仍储存在服务器内存中的部分图像信息,但不显示原始图像。

与越界读取的Heartbleed与Cloudbleed漏洞不同,Yahoobleed漏洞利用的是未初始化或以前释放过的内存内容。

Evans说:“以前的*bleed漏洞通常是越界读取,但是Yahoobleed却利用了未初始化的图像内容。未初始化的图像解码buffer是客户端呈现图像的基础。这就泄漏了服务器端的内存信息。与越界读取相比,利用未初始化内容获取信息更加隐蔽,因为它不会造成服务器崩溃。不过这种方式能够获取的信息也仅限于已释放的堆。”

此外,Evans还发现了Yahoobleed#2(YB2)漏洞这个漏洞出现的原因是雅虎未能及时安装ImageMagick在2015年1月发布的关键补丁。YB1和YB2二者结合使用,可以让攻击者直接获得Yahoo Mail用户的浏览器Cookie,身份验证token和个人图片等信息。

Yahoobleed的修复也很简单,通过如下过程就能实现: 

void)ResetMagickMemory(pixels,0,pixel_info_length);  雅虎弃用ImageMagick

在Evans向雅虎提交了18字节的PoC之后,雅虎认为ImageMagick的bug太多,修复很麻烦,因此决定不再进行修复,而是直接弃用。

向雅虎报告这个问题后,Evans又向ImageMagick团队报告了漏洞。事实上,两个月前,ImageMagick已经发布了ImageMagick 7.0.5-1版本,针对YB1和YB2漏洞进行修复。由于Yahoo Mail并未及时更新,才被Evans检测出漏洞。

现在,Linux和其他下游用户已经可以下载ImageMagick的新版本更新修复了。去年,与ImageMagick相关但独立的GraphicsMagick也已经修补了相同的bug。要注意的是,使用ImageMagick图片库的其他大型Web服务可商仍可能受漏洞影响,建议尽快进行修复,更新到最新版本。

相关阅读

利用ImageMagick绘制三基色原理图

Linux下PHP支持ImageMagick和MagicWandForPHP

Linux下用ImageMagick玩图像魔术

Linux系统上编译好的ImageMagick迁移到另一台机器

Linux下ImageMagick和MagicWand For PHP的安装

Linux下ImageMagick和JMagick的安装整理

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/0f3b2c4d5dbdf22b68c705d0ef994b9c.html