Guest-to-host escape

A VirtualBox guest escapes by corrupting the host VM process that emulates its devices. The reachable surface is the emulated device set: the 3D acceleration path, the audio controllers, the network adapters, and the USB controllers, each parsing guest-driven register writes and DMA structures, plus the HGCM services behind Guest Additions.

1 phút đọccập nhật 7 thg 10, 2026florianamette1 người đóng góp
Hỏi trợ lý của bạn (MCP)Sửa trên GitHub

A VirtualBox VM runs inside a host process that emulates its devices, so escaping means making that process mishandle guest-controlled data. The device surface is broad: the 3D acceleration path (used by Guest Additions for accelerated graphics), the emulated audio controllers, the network adapters, and the USB controllers, each reading guest register writes and DMA descriptors on the host. Code execution lands in the VM process, which runs with the privileges of the user who started the VM. The Guest Additions integration (shared folders, clipboard) adds the HGCM service surface, covered separately.

bash
# the emulated devices visible in the guest (escape surface)
lspci -nn; lsusb
dmesg | grep -iE 'e1000|pcnet|ac97|hda|ohci|ehci|xhci'

Subtopics#

References#