O uso do recurso VMware DirectPath I/O para passar por um dispositivo PCI ou PCIe para uma máquina virtual resulta em uma possível vulnerabilidade de segurança. A vulnerabilidade pode ser acionada quando um código com erros ou mal-intencionado, como um driver de dispositivo, está sendo executado no modo privilegiado no sistema operacional convidado. Atualmente, o hardware e o firmware padrão do setor não têm suporte suficiente à contenção de erros para proteger os hosts ESXi contra a vulnerabilidade.
Use a passagem PCI ou PCIe para uma máquina virtual somente se uma entidade confiável for proprietária 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 visa um endereço fora da memória da máquina virtual. Em algumas máquinas, o firmware do host configura falhas do 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 sistema operacional convidado poderá injetar uma interrupção espúria no host ESXi em qualquer vetor. ESXi atualmente usa o remapeamento de interrupção nas 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 interrupções falsas podem existir em teoria.