Security Bulletin: Multiple vulnerabilities in the NVIDIA Windows GPU Display Driver kernel mode layer (nvlddmkm.sys) handler for DxgkDdiEscape and a vulnerability in the Linux GPU Display Driver kernel mode layer (nvidia.ko)

Answer ID 4278
Updated 05/15/2017 10:47 AM

GPU Display Driver Vulnerabilities in the Kernel Layer May Lead to a Denial of Service, Escalation of Privileges, or Both


Go to NVIDIA Product Security.


Vulnerability Details

CVE-2016-8821 

NVIDIA Windows GPU Display Driver contains a vulnerability in the kernel mode layer (nvlddmkm.sys) handler for DxgkDdiEscape where improper access controls may allow a user to access arbitrary physical memory, leading to an escalation of privileges.

CVSS Base Score: 8.8
CVSS Temporal Score: 7.7
CVSS Vector: CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H/E:U/RL:O/RC:C

CVE-2016-8822

NVIDIA Windows GPU Display Driver contains a vulnerability in the kernel mode layer (nvlddmkm.sys) handler for DxgkDdiEscape ID 0x600000E, 0x600000F, and 0x6000010 where a value passed from a user to the driver is used without validation as the index to an internal array, leading to denial of service or potential escalation of privileges.

CVSS Base Score: 8.8
CVSS Temporal Score: 7.9
CVSS Vector: CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H/E:P/RL:O/RC:C

CVE-2016-8823

NVIDIA Windows GPU Display Driver contains a vulnerability in the kernel mode layer (nvlddmkm.sys) handler for DxgkDdiEscape where the size of an input buffer is not validated leading to a denial of service or possible escalation of privileges.

CVSS Base Score: 8.8
CVSS Temporal Score: 7.9
CVSS Vector: CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H/E:P/RL:O/RC:C

CVE-2016-8824

NVIDIA Windows GPU Display Driver contains a vulnerability in the kernel mode layer (nvlddmkm.sys) handler for DxgkDdiEscape where improper access controls allow a regular user to write a part of the registry intended for privileged users only, leading to escalation of privileges.

CVSS Base Score: 8.8
CVSS Temporal Score: 7.9
CVSS Vector: CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H/E:P/RL:O/RC:C

CVE-2016-8825

NVIDIA Windows GPU Display Driver contains a vulnerability in the kernel mode layer (nvlddmkm.sys) handler for DxgkDdiEscape where the size of an input buffer is not validated, leading to denial of service or potential escalation of privileges.

CVSS Base Score: 8.8
CVSS Temporal Score: 7.9
CVSS Vector: CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H/E:P/RL:O/RC:C

CVE-2016-8826

NVIDIA GPU Display Driver contains a vulnerability in the kernel mode layer (nvlddmkm.sys for Windows or nvidia.ko for Linux) where a user can cause a GPU interrupt storm, leading to a denial of service.

CVSS Base Score: 6.5
CVSS Temporal Score: 5.9
CVSS Vector: CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:C/C:N/I:N/A:H/E:P/RL:O/RC:C

NVIDIA’s risk assessment is based on an average of risk across a diverse set of installed systems and may not represent the true risk of your local installation. NVIDIA recommends consulting a local security or IT professional to evaluate the risk of your specific configuration. NVIDIA doesn't know of any exploits to these issues at this time.

Affected Products

CVE Product Impacted Installed Component OS
CVE-2016-8821
CVE-2016-8822
CVE-2016-8823
CVE-2016-8824
CVE-2016-8825
CVE-2016-8826
GeForce
GRID
NVS
Quadro
Tesla
Graphics Driver Windows
CVE-2016-8826 GeForce
GRID
NVS
Quadro
Tesla
Graphics Driver Linux

Fixes

You can download the fixes from the NVIDIA NVIDIA Driver Downloads page.

Quadro, NVS, Tesla, GeForce, and GRID  on Windows

363.24
Product Product Series OS Branch First version that includes the fix
NVS
Quadro
All Windows R375 376.33
R340 342.01
GeForce All Windows R375 376.33
GeForce GPUs with Tesla architecture Windows R340 342.01
Tesla All Windows R375 376.33
GRID GRID Series Windows R352 GRID Software 3.3
363.24
GRID Software 2.5
356.60

Quadro, NVS, Tesla, GeForce, and GRID on Linux

Product Product Series OS Branch First version that includes the fix
GeForce
NVS
Quadro
All Linux R375 375.26
R340 340.101
R304 304.134
Tesla Tesla P100 Linux R375 375.20
R361 361.107
GRID NVIDIA GRID vGPU Linux R352 GRID Software 3.3
361.45.44
GRID Software 2.5
352.103

Mitigations

None

Acknowledgements

CVE-2016-8822: NVIDIA was informed of this issue by Oliver Chang, working with Google Project Zero.

CVE-2016-8823: NVIDIA was informed of this issue by Piotr Bania of Cisco Talos.

Revision History

Revision Date Description
3.0 March 9, 2017 Added information about fixes available for affect NVIDIA GRID products
2.1 January 11, 2017 Corrected a typographical error in the name of the DxgkDdiEscape function
2.0 January 4, 2017 Added information about fixes available for affect NVIDIA GRID products
1.0 December 14, 2016 Initial release

Frequently Asked Questions (FAQs)

How do I know what driver version I have installed?

  1. Launch Windows Device Manager.
  2. Select Display Adapters.
  3. Select the NVIDIA GPU node and right-click.
  4. Go to the Driver tab.

The driver version can be deciphered as shown in the following examples: 10.18.13.6472 is 364.72 and 10.18.13.472 is 304.72

Disclaimer

ALL NVIDIA INFORMATION, DESIGN SPECIFICATIONS, REFERENCE BOARDS, FILES, DRAWINGS, DIAGNOSTICS, LISTS, AND OTHER DOCUMENTS (TOGETHER AND SEPARATELY, “MATERIALS”) ARE BEING PROVIDED “AS IS.” NVIDIA MAKES NO WARRANTIES, EXPRESS, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO THE MATERIALS, AND ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OR CONDITION OF TITLE, MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT, ARE HEREBY EXCLUDED TO THE MAXIMUM EXTENT PERMITTED BY LAW.

Information furnished is believed to be accurate and reliable. However, NVIDIA Corporation assumes no responsibility for the consequences of use of such information or for any infringement of patents or other rights of third parties that may result from its use. No license is granted by implication or otherwise under any patent or patent rights of NVIDIA Corporation. Specifications mentioned in this publication are subject to change without notice. This publication supersedes and replaces all information previously supplied. NVIDIA Corporation products are not authorized for use as critical components in life support devices or systems without express written approval of NVIDIA Corporation.

Was this answer helpful?
Your rating has been submitted, please tell us how we can make this answer more useful.

LIVE CHAT

Chat online with one of our support agents

CHAT NOW

ASK US A QUESTION

Contact Support for assistance

CONTACT US