/中文/
/中文/
/中文/
/中文/
/中文/
/中文/
/中文/
/中文/
/中文/
/中文/
近期有人使用了最新的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安全卫士免费版(360安全卫士) v12.1 官方版系统安全
/ 6M
AdGuard注册机(AdGuard授权码大全) 高级版系统安全
/ 16M
电子税务局环境检测工具生产环境官方最新版系统安全
/ 13M
火绒安全2020官方版v5.0.44.2系统安全
/ 16M
newsid.exe免费版(免费更改Win7/WinXP/Win10版的SID码) v4.10 绿色版系统安全
/ 0B
卡巴斯基2019注册版(附激活码注册机)系统安全
/ 150M
上网痕迹和USB痕迹清除免费版(系统清理工具) v2.0 最新版系统安全
/ 963K
Safe3 Web漏洞扫描系统已注册版v10.1 企业版系统安全
/ 1M
金山毒霸10吾爱版v2018.11.15 永久免费版系统安全
/ 47M
火绒安全2020最新版v5.0.44.6系统安全
/ 16M
360安全卫士免费版(360安全卫士) v12.1 官方版系统安全
/ 6M
AdGuard注册机(AdGuard授权码大全) 高级版系统安全
/ 16M
火绒安全2020官方版v5.0.44.2系统安全
/ 16M
电子税务局环境检测工具生产环境官方最新版系统安全
/ 13M
newsid.exe免费版(免费更改Win7/WinXP/Win10版的SID码) v4.10 绿色版系统安全
/ 0B
卡巴斯基2019注册版(附激活码注册机)系统安全
/ 150M
上网痕迹和USB痕迹清除免费版(系统清理工具) v2.0 最新版系统安全
/ 963K
Safe3 Web漏洞扫描系统已注册版v10.1 企业版系统安全
/ 1M
金山毒霸10吾爱版v2018.11.15 永久免费版系统安全
/ 47M
火绒安全2020最新版v5.0.44.6系统安全
/ 16M