展开
近期有人使用了最新的Flash 0day漏洞cve-2018-15982和带有自毁功能的专属木马程序进行攻击,Adobe官方及时响应进行了修复更新。Adobe Flash 0day漏洞补丁能够快速安全的修复此次国家级网络攻击,极大程度的保护了用户的安全。Adobe Flash 0day漏洞补丁安全可靠,如果你在使用Adobe Flash,那就快来进行Adobe Flash 0day漏洞修复吧!
通过分析我们发现此次的CVE-2018-15982 0day漏洞是flash包com.adobe.tvsdk.mediacore.metadata中的一个UAF漏洞。Metadata类的setObject在将String类型(属于RCObject)的对象保存到Metadata类对象的keySet成员时,没有使用DRCWB(Deferred Reference Counted, with Write Barrier)。攻击者利用这一点,通过强制GC获得一个垂悬指针,在此基础上通过多次UAF进行多次类型混淆,随后借助两个自定义类的交互操作实现任意地址读写,在此基础上泄露ByteArray的虚表指针,从而绕过ASLR,最后借助HackingTeam泄露代码中的方式绕过DEP/CFG,执行shellcode。
在漏洞的触发过程,flash中Metadata的实例化对象地址
循环调用Metadata的setObject方法后,Metadata对象的keySet成员
keySet成员的部分值
强制垃圾回收后keySet成员被释放的内存部分
在new Class5重用内存后,将导致类型混淆
后续攻击者还通过判断String对象的length属性是否为24来确定漏洞利用是否成功。(如果利用成功会造成类型混淆,此时通过获取String对象的length属性实际为获取Class5的第一个成员变量的值24)。
通过进一步反编译深入分析,我们可以发现Metadata类的setObject对应的Native函数,实际功能存在于setObject_impl里。
在Object_impl里,会直接将传入的键(String对象)保存到Metadata的keySet成员里。
Buffer结构体定义如下(keySet成员的结构体有一定差异)。
add_keySet中保存传入的键(String对象)
这个时候垃圾回收机制认为传入的键未被引用,从而回收相应内存,然而Metadata对象的keySet成员中仍保留着被回收的内存的指针,后续通过new Class5来重用被回收的内存,造成UAF漏洞。
加载全部内容
360安全卫士免费版6M51297人在玩电脑的安全问题很影响电脑的体验。360安...
下载AdGuard注册机16M8610人在玩如果你想永久免费使用AdGuard高级版...
下载电子税务局环境检测工具生产环境13M2444人在玩保护你的网络安全,对运行环境一键进行检测...
下载火绒安全2020官方版16M5266人在玩火绒安全5.0公测版是一款轻巧又高效的电...
下载newsid.exe免费版0B1554人在玩大部分人用的应该都是windows系统的...
下载卡巴斯基2019注册版150M1177人在玩很多小伙伴在电脑防护方面还是非常信任卡巴...
下载上网痕迹和USB痕迹清除免费版963K1093人在玩我们的电脑中有大量的个人隐私,包括我们的...
下载Safe3 Web漏洞扫描系统已注册版1M1044人在玩适用于多种不同的领域,Safe3Web漏...
下载火绒安全2020最新版16M912人在玩火绒安全5.0公测版是火绒在2019年推...
下载金山毒霸10吾爱版47M904人在玩金山毒霸是一款非常知名的杀毒软件,小编为...
下载