CVE-2019-5786 漏洞原理分析及利用
作者:Kerne7@知道创宇404实验室
时间:2020年6月29日
原文链接:https://paper.seebug.org/1257/
从补丁发现漏洞本质
首先根据谷歌博客收集相关CVE-2019-5786漏洞的资料:High CVE-2019-5786: Use-after-free in FileReader,得知是FileReader上的UAF漏洞。
然后查看https://github.com/chromium/chromium/commit/ba9748e78ec7e9c0d594e7edf7b2c07ea2a90449?diff=split上的补丁
对比补丁可以看到DOMArrayBuffer* result = DOMArrayBuffer::Create(raw_data_->ToArrayBuffer())
,操作放到了判断finished_loading后面,返回值也从result变成了array_buffer_result_(result的拷贝)。猜测可能是这个返回值导致的问题。
分析代码
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-D3BhuqKd-1593678610163)(https://images.seebug.org/content/images/2020/06/1c5d1e12-829f-4d3c-9195-441dcbd2bf88.png-w331s)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iz15ALNP-1593678610165)(https://images.seebu