CVE-2020-0674
CVE-2020-0674 是旧版 jscript 引擎中的一个释放后使用漏洞。可在 Internet Explorer 中触发。此处的利用代码由 maxpl0it 编写,但漏洞本身由 Qihoo 360 在野发现。该利用代码仅弹出计算器。
漏洞利用分析文章可在此处找到。
漏洞概述
- 该漏洞存在于使用比较函数时的数组
sort 函数中。
- 提供给比较函数的两个参数未被垃圾回收器跟踪,因此在垃圾回收被调用后将指向已释放的内存。
利用说明
- 该利用代码专门为 Windows 7 编写,但移植起来可能不会太麻烦。
- 此利用代码适用于 IE 的 x64 实例,因此可在以下浏览器配置上运行(并已测试):
- IE 8(x64 版本)
- IE 9(x64 版本)
- IE 10(启用了增强保护模式或启用了 TabProcGrowth)
- IE 11(启用了增强保护模式或启用了 TabProcGrowth)
- 值得注意的是,Windows 7 上的增强保护模式仅仅是启用了浏览器的 x64 版本,因此它并非沙箱逃逸,更多是根本没有额外的沙箱。讽刺的是,由于此利用代码是针对 x64 的,EPM 反而使其能够运行。
- 该利用代码并未完全绕过 EMET(实际上只实现了堆栈旋转检测绕过),但当利用运行时,最终版本(5.52)似乎不会触发 EAF+,而 5.5 会(至少在 Windows 7 x64 上如此)。因此,在启用增强保护模式并启用最大 EMET 设置的 IE 11 上,该利用代码能够运行。
- 该利用代码有大量注释,但为了更好理解其工作原理及每个阶段的操作,请将
var debug = false; 更改为 var debug = true;,然后打开开发者控制台查看日志,或保持关闭并查看 alert 弹出窗口(这可能会有些烦人)。