Die Verwendung der Funktion VMware DirectPath I/O zum Passieren eines PCI- oder PCIe-Geräts zu einer virtuellen Maschine führt zu einer möglichen Sicherheitslücke. Die Schwachstelle kann durch einen fehlerhaften oder bösartigen Code ausgelöst werden, wie z. B. ein Gerätetreiber, der im Gastbetriebssystem im privilegierten Modus ausgeführt wird. Branchenübliche Hardware und Firmware verfügen derzeit nicht über ausreichend Unterstützung zur Fehlereingrenzung, damit ESXi die Schwachstelle vollständig beheben kann.

Es wird empfohlen, PCI- oder PCIe-Passthrough zu einer virtuellen Maschine nur dann zu verwenden, wenn sich die virtuelle Maschine im Besitz einer vertrauenswürdigen Entität befindet und von dieser verwaltet wird. Sie müssen sicherstellen, dass diese Entität nicht den Versuch unternimmt, den Host von der virtuellen Maschine aus zum Absturz zu bringen oder auszunutzen.

Ihr Host ist möglicherweise auf eine der folgenden Weisen gefährdet.

  • Das Gastbetriebssystem generiert möglicherweise einen nicht behebbaren PCI- oder PCIe-Fehler. Ein solcher Fehler beschädigt keine Daten, kann aber zum Absturz des ESXi-Hosts führen. Solche Fehler können aufgrund von Fehlern bzw. Inkompatibilitäten in den Passthrough-Hardware-Geräten oder aber aufgrund von Problemen mit Treibern im Gastbetriebssystem auftreten.

  • Das Gastbetriebssystem generiert möglicherweise einen DMA-Vorgang (Direct Memory Access), der einen IOMMU-Seitenfehler auf dem ESXi-Host verursacht, z. B. wenn der DMA-Vorgang eine Adresse außerhalb des Speichers der virtuellen Maschine zum Ziel hat. Auf einigen Maschinen konfiguriert Host-Firmware IOMMU-Fehler, um durch ein nicht maskierbares Interrupt (NMI) einen schweren Fehler zu melden, was zum Absturz des ESXi-Hosts führt. Dieses Problem kann aufgrund von Problemen mit den Treibern im Gastbetriebssystem auftreten.

  • Wenn das Betriebssystem auf dem ESXi-Host nicht das Neuzuordnen von Interrupts verwendet, injiziert das Gastbetriebssystem möglicherweise einen störenden Interrupt in den ESXi-Host auf einem beliebigen Vektor. ESXi verwendet derzeit das Neuzuordnen von Interrupts auf den Intel-Plattformen, wo dies verfügbar ist. Das Neuzuordnen von Interrupts stellt einen Teil des Intel VT-d-Funktionssatzes dar. ESXi verwendet das Neuzuordnen von Interrupts nicht auf AMD-Plattformen. Ein störender Interrupt führt wahrscheinlich zu einem Absturz des ESXi-Hosts. Theoretisch sind jedoch u. U. andere Möglichkeiten für das Ausnutzen von Interrupts vorhanden.