18字节的ImageMagick黑客可能泄露了雅虎邮件服务器的图像
ImageMagick是一个开源的图像处理库,允许用户调整大小、缩放、裁剪、水印和调整图像。该工具由PHP、Python、Ruby、Perl、C++和许多其他编程语言支持。
去年,这个广受欢迎的图像处理库发现了当时被称为“零日”的漏洞,成为头条新闻影像片,允许黑客通过上传恶意制作的图像在Web服务器上执行恶意代码。
现在,就在上周,安全研究员克里斯·埃文斯向公众展示了一个18字节的漏洞,该漏洞可用于导致雅虎服务器泄露其他用户的私有雅虎!邮件图片附件。
“Yahoobleed”漏洞从服务器内存泄漏图像
该漏洞滥用ImageMagick库中的一个安全漏洞,Evans称之为该死#1“(YB1),因为该漏洞导致服务泄漏存储在服务器内存中的内容。
该漏洞实际上存在于模糊的RLE(犹他州光栅工具包运行长度编码)图像格式中。
要利用该漏洞,攻击者只需创建一个恶意构建的RLE图像,并将其发送到受害者的电子邮件地址,然后创建一个空的RLE协议命令循环,提示信息泄漏。
为了展示如何破坏雅虎的电子邮件帐户,埃文斯创建了一个包含18字节攻击代码的恶意图像,并将其作为电子邮件附件发送给自己,作为概念验证(PoC)演示。
附件到达雅虎的电子邮件服务器后,ImageMagick处理了该图像以生成缩略图和预览,但由于执行了Evans的攻击代码,该库为该图像附件生成了一个损坏的图像预览。
单击此图像附件后,它会启动图像预览窗格,使服务显示仍存在于服务器内存中的部分图像,而不是原始图像
埃文斯说:“提供给我的浏览器的最终JPEG图像是基于未初始化或之前释放的内存内容”。
不像心碎和云出血埃文斯说,这是由于服务器端内存内容泄露造成的该死使用未初始化或以前释放的内存内容。
埃文斯说:“以前的出血漏洞通常是越界读取,但这次是使用未初始化的内存”。“未初始化的图像解码缓冲区用作将图像渲染回客户端的基础”。
“这会泄漏服务器端内存。与越界读取相比,这种类型的漏洞相当隐蔽,因为服务器永远不会崩溃。但是,泄漏的机密将限于释放的堆块中存在的机密”。
雅虎关闭“Buggy”ImageMagick库
在埃文斯向雅虎提交了他18字节的漏洞代码后,雅虎决定完全停用ImageMagick库,而不是解决这个问题。
埃文斯还警告了另一个版本的Yahoobleed,名为胡说八道,这是因为雅虎未能安装2015年1月发布的关键补丁。他说,这些缺陷结合起来可能会让攻击者获得浏览器cookie、身份验证令牌和属于雅虎邮件用户的私人图像。
这家科技巨头向埃文斯支付了1.4万美元的臭虫赏金,即每字节778美元的漏洞代码赏金。在得知埃文斯打算将赏金捐给慈善机构后,埃文斯决定将赏金翻倍至2.8万美元。
在雅虎意识到该问题后,埃文斯向ImageMagick团队报告了该漏洞,该团队在两个月前发布了ImageMagick 7.0.5-1版本,并对该问题进行了修复。
因此,使用ImageMagick库的其他广泛使用的Web服务可能仍然容易受到该漏洞的攻击,建议尽快应用补丁。
