Usar o recurso VMware DirectPath I/O para passar por um dispositivo PCI ou PCIe para uma máquina virtual resulta em uma vulnerabilidade de segurança potencial. A vulnerabilidade pode ser acionada quando um código malicioso ou com bugs, como um driver de dispositivo, está sendo executado no modo privilegiado no sistema operacional convidado. O hardware e o firmware padrão da indústria atualmente não têm suporte suficiente para a contenção de erros para proteger os hosts do ESXi contra a vulnerabilidade.
Use a passagem PCI ou PCIe para uma máquina virtual somente se uma entidade confiável possuir e administrar a máquina virtual. Você deve ter certeza de que essa entidade não tenta travar ou explorar o host da máquina virtual.
Seu host pode estar comprometido de uma das seguintes maneiras.
- O sistema operacional convidado pode gerar um erro irrecuperável de PCI ou PCIe. Esse erro não corrompe os dados, mas pode travar o host ESXi. Esses erros podem ocorrer devido a bugs ou incompatibilidades nos dispositivos de hardware que estão sendo transmitidos. Outros motivos para erros incluem problemas com drivers no sistema operacional convidado.
- O sistema operacional convidado pode gerar uma operação de acesso direto à memória (DMA) que causa uma falha de página IOMMU no host ESXi. Essa operação pode ser o resultado de uma operação de DMA que tem como alvo um endereço fora da memória da máquina virtual. Em algumas máquinas, o firmware do host configura falhas de IOMMU para relatar um erro fatal por meio de uma interrupção não mascarável (NMI). Esse erro fatal faz com que o host ESXi falhe. Esse problema pode ocorrer devido a problemas com os drivers no sistema operacional convidado.
- Se o sistema operacional no host ESXi não estiver usando o remapeamento de interrupção, o SO convidado poderá injetar uma interrupção falsa no host ESXi em qualquer vetor. O ESXi atualmente usa o remapeamento de interrupção em plataformas Intel onde está disponível. O mapeamento de interrupção faz parte do conjunto de recursos do Intel VT-d. ESXi não usa mapeamento de interrupção em plataformas AMD. Uma interrupção falsa pode resultar em uma falha do host ESXi. Outras maneiras de explorar essas falsas interrupções podem existir na teoria.