CVE-2021-28710

8.8 HIGH

📋 TL;DR

This vulnerability in Xen's VT-d IOMMU implementation allows a guest virtual machine to write to leaf page table entries when sharing page tables with CPUs. This occurs because Xen fails to properly strip the top-level page table for IOMMUs requiring only 3 levels instead of 4. Affected systems are those running Xen hypervisor with VT-d IOMMUs in shared page table mode.

💻 Affected Systems

Products:
  • Xen Hypervisor
Versions: All versions prior to the fix
Operating Systems: Linux distributions running Xen (Fedora, Gentoo, others)
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects systems with VT-d IOMMUs that require 3-level page tables (not all hardware). Shared page table mode is used by default on suitable hardware for efficiency.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

A malicious guest VM could gain unauthorized access to host memory, potentially leading to host compromise, data exfiltration, or complete system takeover.

🟠

Likely Case

Guest VM escape allowing privilege escalation from guest to host, enabling attackers to access other VMs or host resources.

🟢

If Mitigated

Limited impact if proper network segmentation and access controls prevent malicious VMs from being deployed.

🌐 Internet-Facing: MEDIUM - Cloud providers and VPS hosts with internet-facing Xen instances are at risk if they allow untrusted guest VMs.
🏢 Internal Only: HIGH - Internal virtualization infrastructure with multiple tenants or untrusted workloads is highly vulnerable.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Exploitation requires guest VM access and specific hardware configuration. No public exploit code has been disclosed.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Xen security advisory XSA-390 patches

Vendor Advisory: https://xenbits.xenproject.org/xsa/advisory-390.txt

Restart Required: Yes

Instructions:

1. Update Xen to patched version via distribution package manager. 2. For Fedora: 'sudo dnf update xen'. 3. For Gentoo: Follow GLSA 202208-23. 4. Reboot host system.

🔧 Temporary Workarounds

Disable shared page tables

linux

Prevent sharing of page tables between CPUs and IOMMUs

Add 'iommu=no-shared-page-tables' to Xen boot parameters

🧯 If You Can't Patch

  • Isolate untrusted guest VMs on separate physical hardware
  • Implement strict network segmentation between VMs and limit VM-to-VM communication

🔍 How to Verify

Check if Vulnerable:

Check Xen version and if VT-d IOMMU is enabled with shared page tables: 'xl info | grep xen_version' and check dmesg for IOMMU messages

Check Version:

xl info | grep xen_version

Verify Fix Applied:

Verify Xen version is patched: 'xl info | grep xen_version' should show version with XSA-390 fix applied

📡 Detection & Monitoring

Log Indicators:

  • Unexpected memory access patterns in Xen logs
  • Guest VM attempting to access privileged memory regions

Network Indicators:

  • Unusual VM-to-VM communication patterns after guest compromise

SIEM Query:

Search for Xen hypervisor logs containing memory access violations or IOMMU-related errors

🔗 References

📤 Share & Export