2. Relevant Products

VMware vSphere ESXi (ESXi)

VMware Workstation Pro / Player (Workstation)

VMware Fusion Pro, Fusion (Fusion)

3. Problem Description

Denial-of-service vulnerability in 3D-acceleration feature



VMware ESXi, Workstation and Fusion contain a denial-of-service vulnerability due to an infinite loop in a 3D-rendering shader. Successfully exploiting this issue may allow an attacker with normal user privileges in the guest to make the VM unresponsive, and in some cases, possibly result other VMs on the host or the host itself becoming unresponsive.



Because many graphics API's and hardware lack pre-emption support, a specially crafted 3D shader may loop for an infinite amount of time and lock up a VM's virtual graphics device. Such a shader cannot always be validated by VMware hypervisors, since it may be well-formed but still cause problems if designed to run for an extremely long time. In such cases, VMware hypervisors then rely on the host's graphics driver to ensure that other users of 3D graphics on the host are not impacted by the malicious VM. However, many graphics drivers may themselves get into to a denial-of-service condition caused by such infinite shaders, and as a result other VMs or processes running on the host might also be affected.



The workaround for this issue requires disabling the 3D-acceleration feature as documented in the Mitigation/Workaround column of the below table.



The issue can only be exploited if 3D-acceleration feature is enabled. It is not enabled by default on ESXi and is enabled by default on Workstation and Fusion. The 3D-acceleration settings can be reviewed as follows.



ESXi

With Host Client or vCenter, go to the individual VM > configure > hardware > video card >

3D Graphics --> Check if "3D Graphics" is enabled.

OR

Go to individual VMX file and then check for "mks.enable3d", if the VMs have the option

"mks.enable3d=TRUE", then 3D-acceleration feature is enabled



Workstation

- Select virtual machine and select VM > Settings.

- On the Hardware tab, select Display

If the "Accelerate 3D graphics" is checked then 3D-acceleration feature is enabled.



Fusion

-From the VMware Fusion menu bar, select Window > Virtual Machine Library.

-Select a virtual machine and click Settings.

-In the Settings Window > select Display.

If the "Accelerate 3D graphics" is checked then 3D-acceleration feature is enabled.



VMware would like to thank Piotr Bania of Cisco Talos for reporting this issue to us.



The Common Vulnerabilities and Exposures project (cve.mitre.org) has assigned the identifier CVE-2018-6977 to this issue.



Column 5 of the following table lists the action required to remediate the vulnerability in each release, if a solution is available.