English

WeSee: Using Malicious #VC Interrupts to Break AMD SEV-SNP

Cryptography and Security 2024-04-05 v1

Abstract

AMD SEV-SNP offers VM-level trusted execution environments (TEEs) to protect the confidentiality and integrity for sensitive cloud workloads from untrusted hypervisor controlled by the cloud provider. AMD introduced a new exception, #VC, to facilitate the communication between the VM and the untrusted hypervisor. We present WeSee attack, where the hypervisor injects malicious #VC into a victim VM's CPU to compromise the security guarantees of AMD SEV-SNP. Specifically, WeSee injects interrupt number 29, which delivers a #VC exception to the VM who then executes the corresponding handler that performs data and register copies between the VM and the hypervisor. WeSee shows that using well-crafted #VC injections, the attacker can induce arbitrary behavior in the VM. Our case-studies demonstrate that WeSee can leak sensitive VM information (kTLS keys for NGINX), corrupt kernel data (firewall rules), and inject arbitrary code (launch a root shell from the kernel space).

Cite

@article{arxiv.2404.03526,
  title  = {WeSee: Using Malicious #VC Interrupts to Break AMD SEV-SNP},
  author = {Benedict Schlüter and Supraja Sridhara and Andrin Bertschi and Shweta Shinde},
  journal= {arXiv preprint arXiv:2404.03526},
  year   = {2024}
}

Comments

Extended version of the IEEE S&P 2024 paper

R2 v1 2026-06-28T15:44:14.313Z