~/talk

Scavenger: Misuse Error Handling Leading to Qemu/KVM Escape

Talkat Black Hat Asia 2021 · 2021-05-04..05-07· [security]
links:none on file
links:none on file
links:none on file
links:none on file
links:none on file
slides:none on file

Directed greybox fuzzing of QEMU’s NVMe device finds an uninitialized free in nvme_map_prp caused by misused error-handling goto cleanup paths. The researchers use a goto-target backward slice to guide AFL-style fuzzing, then build a cross-domain primitive by crafting fake heap chunks in guest-mapped memory and abusing host-side mmapped guest pointers to leak heap and function addresses. They turn that UAF into a guest-to-host escape that pops a host calculator, and the bug is fixed in QEMU 5.2.0.

AI-written summary · about

  1. 0:00Start
  2. 3:49Insightful CVE-2020-25084: USB use-after-free
  3. 6:05QEMU - Error Handling Code Error Handling Code
  4. 8:00Error Handling Code Directed Greybox Fuzzing
  5. 9:36Scavenger - Uninitialized Free Vulnerability
  6. 15:151st path: Uninitialized Stack Variable
  7. 20:01Interesting Structure on Virtio-gpu
  8. 22:12High-Level Overview What if we free a fake chunk in guest?
  9. 33:19Further Analysis of Cross Domain Attack
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.