独家揭秘通过泄露Sentinel Value绕过Chrome v8 HardenProtect

前言

Sentinelvalue(又名flagvalue/tripvalue/roguevalue/signalvalue/dummydata)是算法中的一个特殊值,通常在循环或递归算法中作为终止条件的特殊值存在。Chrome源码中有很多Sentinelvalue。from-leaking-thehole-to-chrome-renderer-rce和TheHoleNewWorld-howasmallleakwillsinkagreatbrowser(CVE-2021-38003)中,都介绍了如何通过泄露TheHole对象实现CVE-2021-38003和CVE-2022–1364的沙箱内任意代码执行。在我们发文阐述该缓解绕过大概一周后,谷歌团队也迅速把这两个在野CVE同步更新到了github上。时间节点如下:

因此,在edi范围内,可以任意读写。在具体做skype的exp时,虽然此时我们没有地址压缩带来内存读写的便利,且skype开启了aslr。但由于该文件太大,直接放在4GB内存中,黑客只需要对某个固定地址进行读写,便可以一个极大的概率读写skype文件中的内容。结合PE解析等传统思路,不难完成整个漏洞利用链。基于此,我们无法保证黑客不能在短时间内完成整个利用链的适配。

这次PatchGap实际上不止需要排查Issue1352549,由于一个新的绕过方法的公开,直接导致了类似Issue1314616和Issue1216437的利用难度大幅度降低,黑客几乎不需要花费任何研究成本,即可实现以往任何泄露uninitialized_oddball漏洞的完整利用,包括谷歌clusterfuzz提交的所有Issue中类似的漏洞。

总结

本文仅抛砖引玉,粗略来谈通过泄露Sentinelvalue中的uninitialized_Oddball来实现任意读原语。如第二部分所示,v8中的Sentinelvalue还有很多,实际上我们在测试Sentinelvalue的时候,也会经常容易遇到崩溃,不乏有非int3的崩溃出现。由于Uninitialized_Oddball和TheHole均已被证明可以在v8中实现环节绕过,我们有充分的理由怀疑其他Sentinelvalue也可能导致类似问题。

这也给我们一点提示:

01-其他uninitialized_Oddball泄露是否会轻松实现v8的RCE;

02-我们已经看到,谷歌会迅速将TheHole绕过进行修复,我们也看到利用垃圾回收实现ASLR绕过被长期搁置。这说明类似issue仍处在一个模糊边界,即是否被正式当作安全问题对待。

03-如果02中的问题被当作正式安全问题对待,那么在fuzzer中是否有必要考虑将%TheHole/uninitialized_Oddball等Sentinelvalue作为变量加入,来挖掘其他利用原语;

这里不得不强调的是,无论该类问题是否被正式当作安全问题对待,它都会大大缩减黑客实现完整利用周期。

参考资料

https://bugs.chromium.org/p/chromium/issues/detail?id=1314616

https://bugs.chromium.org/p/chromium/issues/detail?id=1352549

https://bugs.chromium.org/p/chromium/issues/detail?id=1216437

https://starlabs.sg/blog/2022/12-the-hole-new-world-how-a-small-leak-will-sink-a-great-browser-cve-2021-38003/

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

银河链

BTC观点:《数字资产反法案》是对个人隐私保护的直接抨击

参议员沃伦和马歇尔近期提出的「数字资产反法案」,是我们迄今为止看到的,对加密货币用户和开发者个人自由和隐私的最直接攻击。它将迫使任何通过软件开发或验证网络交易来帮助维护公共区块链基础设施的个人注册为金融机构(FI).

欧易okex官网盘点 2022 Web3 项目方骚操作

2022年即将画上句号,今年Web3世界与全球经济共同陷入了低谷。除了宏观环境外,Terra、ThreeArrowsCapital、Celsius、FTX等机构的先后暴雷让本就受到宏观经济环境影响的Web3领域遭到了更严重的打击.

[0:15ms0-1:726ms