Bundled with Unleash skills pack. Source: C:\Users\Admin.agents\skills\virtualization-escape-research\SKILL.md
Virtualization Escape Research
Objective
Find latest-stable vulnerabilities where a malicious guest or isolated workload gains host code execution, host memory access, cross-VM access, management-plane control, or a meaningful hypervisor boundary bypass.
Prioritize default virtual hardware and cloud/enterprise configurations over obscure optional devices.
Phase 1: Pin the Virtualization Stack
Record every independently versioned layer:
- product/hypervisor build and host OS/kernel;
- user-mode device emulator and libraries;
- kernel acceleration module;
- firmware/UEFI and virtual chipset/machine type;
- guest tools, shared-folder/clipboard/graphics agents;
- paravirtual frontend and host backend versions;
- virtual GPU/media/USB/network/storage device models;
- management daemon/API;
- nested virtualization and hardware microcode state;
- VM configuration, device list, and feature flags.
Archive configuration and hashes. “Latest product version” is insufficient if the vulnerable device backend is separately packaged.
Completion criterion: a clean VM can be recreated with the exact virtual hardware and stack versions.
Phase 2: Enumerate Guest-Controlled Interfaces
Map:
- port I/O and MMIO registers;
- PCI config space, BARs, MSI/MSI-X, capabilities;
- DMA descriptors, rings, queues, scatter/gather lists;
- virtio/vhost, Xen, Hyper-V, VMware, and platform-specific hypercalls;
- emulated USB, audio, display, GPU, network, storage, SCSI/NVMe, and legacy devices;
- shared memory, ballooning, filesystem, clipboard, drag/drop, and guest-agent channels;
- VM exits caused by MSR, CPUID, APIC, instruction emulation, page faults;
- snapshot/save/restore, live migration, device hotplug, suspend/resume;
- nested VMCS/VMCB and enlightened interfaces;
- management APIs reachable from guest agents or virtual networks.
For each interface record host handler, process/privilege, guest-controlled fields, memory model, and default presence.
Completion criterion: all default guest-to-host interfaces map to handler code and trust level.
Phase 3: Model Memory Ownership
For each queue or descriptor chain define:
- guest physical address translation and pinning;
- length/count arithmetic and maximums;
- descriptor ownership transitions;
- indirect descriptors and recursion limits;
- mapping lifetime across async host I/O;
- IOMMU and bounce-buffer behavior;
- host pointers/cookies stored in guest-visible memory;
- reset, cancellation, hot-unplug, and migration semantics;
- concurrency between vCPU, I/O, and worker threads.
Write an ownership timeline. Most useful bugs violate it during reset, async completion, or state restoration.
Phase 4: Harness and Snapshot Fuzzing
Choose among:
- direct unit harness for device read/write handlers;
- guest kernel/user driver generating MMIO/PIO/descriptor traffic;
- hypercall grammar fuzzer;
- QEMU/libFuzzer-style device harness;
- VM snapshot loop restoring immediately before the handler;
- migration/saved-state mutator;
- differential execution across machine types or versions.
Feedback:
- host sanitizers and crash dumps;
- device-model coverage;
- VM-exit/handler coverage;
- host process syscalls and allocations;
- guest-observed completion/status anomalies;
- invariant assertions in instrumented builds.
Keep the guest generator deterministic and log every operation needed to replay after host crash.
Completion criterion: a minimized operation sequence reproduces from a clean snapshot.
Phase 5: High-Yield Campaigns
Descriptor and DMA
- cyclic/overlapping chains;
- zero, huge, and wrapping lengths;
- indirect table nesting;
- descriptor mutation after validation;
- guest page unmap/remap during async I/O;
- inconsistent queue size/index/event values;
- partial completion and reset races.
Device lifecycle
- reset during pending DMA;
- hot-unplug while callbacks are queued;
- suspend/resume with stale host objects;
- error recovery and timeout paths;
- interrupt delivery after teardown;
- frontend/backend reconnect and negotiation downgrade.
State serialization
- malformed snapshot/migration sections;
- version skew and optional field mismatch;
- integer truncation across host architectures;
- restored pointers, indexes, and lengths not revalidated;
- destination host capabilities differing from source.
Instruction and nested virtualization
- decode length, prefixes, segment/address modes;
- invalid VMCS/VMCB combinations;
- nested intercept merging;
- synthetic MSR and hypercall buffers;
- state transitions during exception/NMI injection.
Integration channels
- shared folders and path translation;
- clipboard/drag/drop object lifetimes;
- graphics command buffers and shader/media parsers;
- guest agent message deserialization and update paths.
Completion criterion: campaigns are separated so one noisy device does not starve others.
Phase 6: Escape Triage
Determine:
- crash context and root cause in host code;
- host process sandbox, user, seccomp/token/profile, and namespace;
- controlled read/write/free, host pointer leak, or logic capability;
- guest-to-host address predictability and mitigations;
- whether an emulator-process compromise still requires a second sandbox escape;
- cross-VM or management socket reachability;
- default device presence and cloud applicability;
- behavior with IOMMU, confidential-computing, and hardened configurations.
Do not call device-emulator code execution a full host escape if the emulator is intentionally sandboxed; report the remaining boundary.
Phase 7: Variants
Search:
- sibling devices using the same descriptor helper;
- userspace and kernel backends;
- legacy and modern machine types;
- host architecture ports;
- migration load paths corresponding to live MMIO handlers;
- cloud forks and downstream backports;
- nested versus non-nested code;
- guest tools sharing serializers with management services;
- fixes applied to one queue direction or device mode only.
Common Pitfalls
- Fuzzing optional devices absent from widespread deployments.
- Recording only top-level hypervisor version.
- Losing the final guest operation sequence after a host crash.
- Ignoring emulator sandboxing when stating impact.
- Mutating descriptors without modeling ownership timing.
- Testing instrumented debug code but not latest stable shipped bytes.
- Treating guest kernel compromise as a prerequisite without stating it.
- Ignoring snapshot/migration and reset paths.
Verification Checklist
1---2name: virtualization-escape-research3description: Use when hunting new guest-to-host, container-to-hypervisor, or nested-virtualization vulnerabilities in the latest stable hypervisor, emulator, cloud VM stack, virtual device, paravirtual driver/backend, guest-tools integration, management plane, snapshot/migration path, or hardware-accelerated virtualization interface.4license: MIT5---67> Bundled with Unleash skills pack. Source: C:\Users\Admin\.agents\skills\virtualization-escape-research\SKILL.md89# Virtualization Escape Research1011## Objective1213Find latest-stable vulnerabilities where a malicious guest or isolated workload gains host code execution, host memory access, cross-VM access, management-plane control, or a meaningful hypervisor boundary bypass.1415Prioritize default virtual hardware and cloud/enterprise configurations over obscure optional devices.1617## Phase 1: Pin the Virtualization Stack1819Record every independently versioned layer:2021- product/hypervisor build and host OS/kernel;22- user-mode device emulator and libraries;23- kernel acceleration module;24- firmware/UEFI and virtual chipset/machine type;25- guest tools, shared-folder/clipboard/graphics agents;26- paravirtual frontend and host backend versions;27- virtual GPU/media/USB/network/storage device models;28- management daemon/API;29- nested virtualization and hardware microcode state;30- VM configuration, device list, and feature flags.3132Archive configuration and hashes. “Latest product version” is insufficient if the vulnerable device backend is separately packaged.3334Completion criterion: a clean VM can be recreated with the exact virtual hardware and stack versions.3536## Phase 2: Enumerate Guest-Controlled Interfaces3738Map:3940- port I/O and MMIO registers;41- PCI config space, BARs, MSI/MSI-X, capabilities;42- DMA descriptors, rings, queues, scatter/gather lists;43- virtio/vhost, Xen, Hyper-V, VMware, and platform-specific hypercalls;44- emulated USB, audio, display, GPU, network, storage, SCSI/NVMe, and legacy devices;45- shared memory, ballooning, filesystem, clipboard, drag/drop, and guest-agent channels;46- VM exits caused by MSR, CPUID, APIC, instruction emulation, page faults;47- snapshot/save/restore, live migration, device hotplug, suspend/resume;48- nested VMCS/VMCB and enlightened interfaces;49- management APIs reachable from guest agents or virtual networks.5051For each interface record host handler, process/privilege, guest-controlled fields, memory model, and default presence.5253Completion criterion: all default guest-to-host interfaces map to handler code and trust level.5455## Phase 3: Model Memory Ownership5657For each queue or descriptor chain define:5859- guest physical address translation and pinning;60- length/count arithmetic and maximums;61- descriptor ownership transitions;62- indirect descriptors and recursion limits;63- mapping lifetime across async host I/O;64- IOMMU and bounce-buffer behavior;65- host pointers/cookies stored in guest-visible memory;66- reset, cancellation, hot-unplug, and migration semantics;67- concurrency between vCPU, I/O, and worker threads.6869Write an ownership timeline. Most useful bugs violate it during reset, async completion, or state restoration.7071## Phase 4: Harness and Snapshot Fuzzing7273Choose among:7475- direct unit harness for device read/write handlers;76- guest kernel/user driver generating MMIO/PIO/descriptor traffic;77- hypercall grammar fuzzer;78- QEMU/libFuzzer-style device harness;79- VM snapshot loop restoring immediately before the handler;80- migration/saved-state mutator;81- differential execution across machine types or versions.8283Feedback:8485- host sanitizers and crash dumps;86- device-model coverage;87- VM-exit/handler coverage;88- host process syscalls and allocations;89- guest-observed completion/status anomalies;90- invariant assertions in instrumented builds.9192Keep the guest generator deterministic and log every operation needed to replay after host crash.9394Completion criterion: a minimized operation sequence reproduces from a clean snapshot.9596## Phase 5: High-Yield Campaigns9798### Descriptor and DMA99100- cyclic/overlapping chains;101- zero, huge, and wrapping lengths;102- indirect table nesting;103- descriptor mutation after validation;104- guest page unmap/remap during async I/O;105- inconsistent queue size/index/event values;106- partial completion and reset races.107108### Device lifecycle109110- reset during pending DMA;111- hot-unplug while callbacks are queued;112- suspend/resume with stale host objects;113- error recovery and timeout paths;114- interrupt delivery after teardown;115- frontend/backend reconnect and negotiation downgrade.116117### State serialization118119- malformed snapshot/migration sections;120- version skew and optional field mismatch;121- integer truncation across host architectures;122- restored pointers, indexes, and lengths not revalidated;123- destination host capabilities differing from source.124125### Instruction and nested virtualization126127- decode length, prefixes, segment/address modes;128- invalid VMCS/VMCB combinations;129- nested intercept merging;130- synthetic MSR and hypercall buffers;131- state transitions during exception/NMI injection.132133### Integration channels134135- shared folders and path translation;136- clipboard/drag/drop object lifetimes;137- graphics command buffers and shader/media parsers;138- guest agent message deserialization and update paths.139140Completion criterion: campaigns are separated so one noisy device does not starve others.141142## Phase 6: Escape Triage143144Determine:145146- crash context and root cause in host code;147- host process sandbox, user, seccomp/token/profile, and namespace;148- controlled read/write/free, host pointer leak, or logic capability;149- guest-to-host address predictability and mitigations;150- whether an emulator-process compromise still requires a second sandbox escape;151- cross-VM or management socket reachability;152- default device presence and cloud applicability;153- behavior with IOMMU, confidential-computing, and hardened configurations.154155Do not call device-emulator code execution a full host escape if the emulator is intentionally sandboxed; report the remaining boundary.156157## Phase 7: Variants158159Search:160161- sibling devices using the same descriptor helper;162- userspace and kernel backends;163- legacy and modern machine types;164- host architecture ports;165- migration load paths corresponding to live MMIO handlers;166- cloud forks and downstream backports;167- nested versus non-nested code;168- guest tools sharing serializers with management services;169- fixes applied to one queue direction or device mode only.170171## Common Pitfalls1721731. Fuzzing optional devices absent from widespread deployments.1742. Recording only top-level hypervisor version.1753. Losing the final guest operation sequence after a host crash.1764. Ignoring emulator sandboxing when stating impact.1775. Mutating descriptors without modeling ownership timing.1786. Testing instrumented debug code but not latest stable shipped bytes.1797. Treating guest kernel compromise as a prerequisite without stating it.1808. Ignoring snapshot/migration and reset paths.181182## Verification Checklist183184- [ ] Complete stack and virtual hardware versions recorded185- [ ] Default guest-host interface map complete186- [ ] Descriptor/memory ownership timelines defined187- [ ] Snapshot or harness replay is deterministic188- [ ] Host sanitizer/crash evidence captured189- [ ] Root cause and controlled primitive established190- [ ] Emulator sandbox and remaining host boundary assessed191- [ ] Default deployment/cloud relevance documented192- [ ] Lifecycle and migration variants tested193- [ ] Latest-stable and novelty gates pass194