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 ausgelöst werden, wenn fehlerhafter oder bösartiger Code, wie z. B. ein Gerätetreiber, 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-Hosts Angriffe auf die Schwachstelle abwehren können.
Verwenden Sie PCI- oder PCIe-Passthrough zu einer virtuellen Maschine nur dann, 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 Hardwaregeräten auftreten, für die das Passthrough durchgeführt wird. Zu den weiteren Fehlergründen gehören Probleme mit Treibern im Gastbetriebssystem.
- Das Gastbetriebssystem startet möglicherweise einen DMA-Vorgang, der einen IOMMU-Seitenfehler auf dem ESXi-Host verursacht. Dieser Vorgang ist möglicherweise das Ergebnis eines DMA-Vorgangs, der eine Adresse außerhalb des virtuellen Maschinenspeichers anvisiert. Auf einigen Maschinen konfiguriert Host-Firmware IOMMU-Fehler, um durch ein nicht maskierbares Interrupt (NMI) einen schweren Fehler zu melden. Dieser schwerwiegende Fehler verursacht einen Absturz des ESXi-Hosts. 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 diese Funktion 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. Falsche Interrupts können zum Absturz des ESXi-Hosts führen. Theoretisch kann es weitere Möglichkeiten geben, diese fehlerhaften Interrupts auszunutzen.