tl;dr
- The patch adds a vulnerable virtio device
- The device accesses pointers without bound check
- Abuse OOB pointer access to setup arb r/w primitive
- Craft open,read,write ropchain on heap
- Overwrite virtqueue handler with stack pivoting gadget
tl;dr
tl;dr
This post will describe how I exploited CVE-2019-14378, which is a pointer miscalculation in network backend of QEMU. The bug is triggered when large IPv4 fragmented packets are reassembled for processing. It was found by code auditing.