记录黑客技术中优秀的内容,传播黑客文化,分享黑客技术精华

漏洞聚焦:苹果Quicktime远程代码执行

2015-07-01 19:55

分享到:

http://p4.qhimg.com/t0161714f83d4311e00.jpg

Mac os x 10.10上使用quicktime录制iphone屏幕

Tips:

音频或视频文件都由很多box和fullbox组成,而box由header和data组成。

stbl 是 sample table box, container for the time/space map,stbl是box的一种。

Atom是苹果对box的另一种名称。

文章作者是Rich Johnson, William Largent 和 Ryan Pentney。Earl Carter 对这篇博客也有贡献。

Cisco Talos和苹果安全顾问一起,于6月30日披露了苹果QuickTime的远程代码执行漏洞。这个漏洞最初是由Talos漏洞研究和开发团队发现并按照责任披露政策报告给苹果公司。

苹果Quicktime中存在一个远程执行代码漏洞(TALOS-CAN-0018, CVE-2015-3667)。攻击者可以控制.mov文件内的stbl atom中的数据,攻击者进而可以导致过界读数据的过小分配。攻击者可以使用这个创建一个使用后释放的情况,可能会导致远程代码执行。

QuickTime(QuickTimeMPEG4!0x147f0)内存在一个函数,它负责在一个hdlr atom中处理数据。有一个16字节的存储区域,分配在这个函数开始时,如果这个hdlr子类型字段被这设置为’vide’,这个引用就被传递给一组的两个函数。

t012265bb1e9219cd47.png

第一个函数在object_ref中交换引用获取一个更大的对象,一个0xb0字节的对象,第二个函数操作这个新的对象。

t0153b79d34f9302665.png

在某一点调用堆栈,对于这两个函数来说,所讨论的引用被传递给QuickTime!0x73e0f0函数。然而,当stbl atom从文件丢失或4CC被损坏,eax中的对象没有得到填充。这些情况发生,第15行检查将会扰国,错误代码(0xfffff809)将被传回给调用堆栈。

http://pic1.hackdig.com/pp/e9bc9757a3269a7bcd34a164302bda7322f01660d080c71c9907cc97757b66f9578fe010fcd4fb70934d5a221111a625.jpg

这一系列的调用通常会导致存在于QuickTime!0x748a40函数的对象引用的代换。然而,因为错误代码返回,堆栈并不是0,下面的分支被执行,代码路径被跳过。

t01f954d1ac9ca5dcda.png

最终,调用返回,57行的函数QuickTimeMPEG4!0x147f0被调用。

t018118ab2bf3d9159e.png

代码执行使它到达QuickTime!0x21ab00函数。

t01e79dac6f598b1db7.png

读取2字节试图在84字节的偏移量到16字节的对象,从而导致所读数据超出界限。

Cisco Talos 的研究和发现找到0day的编程方式有助于确保用户使用的平台和软件的安全。这个漏洞的披露以及其他漏洞的披露都会通过识别安全问题来帮助整个在线社区,否则可能被安全威胁着利用。发现新的0day不仅能够帮助提高用户使用的软件整体的安全性,还能帮助我们改善产品的安全开发声明周期,从而提高所有思科产品的生产的安全性。

相关Snort规则:35022-35023。

对于大多数最新的列表,请参阅防御中心或FireSIGHT管理中心。

想要了解更多0day漏洞或报告信息,请访问http://talosintel.com/vulnerability-reports/。

时间轴:

2015-05-18 报告

2015-06-30 修补

2015-06-30 发布

本文由 360安全播报 翻译,转载请注明“转自360安全播报”,并附上链接。
原文链接:


知识来源: bobao.360.cn/learning/detail/491.html

阅读:112214 | 评论:0 | 标签:漏洞

想收藏或者和大家分享这篇好文章→复制链接地址

“漏洞聚焦:苹果Quicktime远程代码执行”共有0条留言

发表评论

姓名:

邮箱:

网址:

验证码:

ADS

标签云