cve-2019-6788 Note
最近看到一个思路很妙的qemu堆溢出利用实例,跟着调试学习了一波,在这里总结记录一下。
漏洞说明
漏洞本身不复杂,作者也把poc和exp的源代码都放出来了,所以跟着学习就比较容易。漏洞存在于qemu中的网络模块slirp中,在对Ident协议进行模拟时,没有进行有效的数据验证,从而导致溢出。
最近看到一个思路很妙的qemu堆溢出利用实例,跟着调试学习了一波,在这里总结记录一下。
漏洞本身不复杂,作者也把poc和exp的源代码都放出来了,所以跟着学习就比较容易。漏洞存在于qemu中的网络模块slirp中,在对Ident协议进行模拟时,没有进行有效的数据验证,从而导致溢出。
在翻ZDI的历史博客时,看到一个NETGEAR路由器中的堆溢出利用,很是少见,一般路由器中大多是命令执行或栈溢出,很少见到有堆溢出相关的,便跟着走了一遍。
针对fastbin,利用double free在两次malloc 时获得同一个块chunk,然后在第一次拿到chunk后修改堆的结构,将假的chunk链接到当前块,之后可以通过malloc分配到假的chunk,从而实现任意地址读写,这就是所谓的Fastbin Dup。