Security Bulletin: Vulnerabilities in NVIDIA Windows GPU Display Driver and NVIDIA GeForce Experience

Answer ID 4247
Updated 01/11/2017 09:00 AM

NVIDIA Windows GPU Display Driver contains multiple vulnerabilities in the kernel mode layer (nvlddmkm.sys) handler and NVIDIA GeForce Experience contains a vulnerability in the kernel mode layer (nvstreamkms.sys)


Vulnerability Details

CVE-2016-8805

NVIDIA Windows GPU Display Driver contains a vulnerability in the kernel mode layer (nvlddmkm.sys) handler for DxgkDdiEscape ID 0x7000014 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-8806

NVIDIA Windows GPU Display Driver contains a vulnerability in the kernel mode layer (nvlddmkm.sys) handler for DxgkDdiEscape ID 0x5000027 where a pointer passed from a user to the driver is used without validation, 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-8807

NVIDIA Windows GPU Display Driver contains a vulnerability in the kernel mode layer (nvlddmkm.sys) handler for DxgkDdiEscape ID 0x10000e9 where a value is passed from a user to the driver is used without validation as the size input to memcpy() causing a stack buffer overflow, 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-8808

NVIDIA Windows GPU Display Driver contains a vulnerability in the kernel mode layer (nvlddmkm.sys) handler for DxgkDdiEscape ID 0x70000d5 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-8809

NVIDIA Windows GPU Display Driver contains a vulnerability in the kernel mode layer (nvlddmkm.sys) handler for DxgkDdiEscape ID 0x70001b2 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-8810

NVIDIA Windows GPU Display Driver contains a vulnerability in the kernel mode layer (nvlddmkm.sys) handler for DxgkDdiEscape ID 0x100009a 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-8811

NVIDIA Windows GPU Display Driver contains a vulnerability in the kernel mode layer (nvlddmkm.sys) handler for DxgkDdiEscape ID 0x7000170 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-8812

NVIDIA GeForce Experience contains a vulnerability in the kernel mode layer (nvstreamkms.sys) allowing a user to cause a stack buffer overflow with specially crafted executable paths, leading to a denial of service or 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-7391

NVIDIA Windows GPU Display Driver contains a vulnerability in the kernel mode layer (nvlddmkm.sys) handler for DxgkDdiEscape ID 0x100010b where a missing array bounds check can allow a user to write to kernel memory, leading to denial of service or potential escalation of privileges.

CVSS Base Score: 6.8
CVSS Temporal Score: 5.3
CVSS v2 Vector: (AV:L/AC:L/Au:S/C:C/I:C/A:C/E:POC/RL:OF/RC:ND)

CVE-2016-7387

NVIDIA Windows GPU Display Driver contains a vulnerability in the kernel mode layer (nvlddmkm.sys) handler for DxgkDdiEscape ID 0x600000D 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: 6.8
CVSS Temporal Score: 5.3
CVSS v2 Vector: (AV:L/AC:L/Au:S/C:C/I:C/A:C/E:POC/RL:OF/RC:C)

CVE-2016-7385

NVIDIA Windows GPU Display Driver contains a vulnerability in the kernel mode layer (nvlddmkm.sys) handler for DxgkDdiEscape ID 0x700010d 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: 6.8
CVSS Temporal Score: 5.3
CVSS v2 Vector: (AV:L/AC:L/Au:S/C:C/I:C/A:C/E:POC/RL:OF/RC:C)

CVE-2016-7390

NVIDIA Windows GPU Display Driver contains a vulnerability in the kernel mode layer (nvlddmkm.sys) handler for DxgkDdiEscape ID 0x7000194 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: 6.8
CVSS Temporal Score: 5.3
CVSS v2 Vector: (AV:L/AC:L/Au:S/C:C/I:C/A:C/E:POC/RL:OF/RC:C)

CVE-2016-7382

NVIDIA GPU Display Driver contains a vulnerability in the kernel mode layer (nvlddmkm.sys) handler where a missing permissions check may allow users to gain access to arbitrary physical memory, leading to an escalation of privileges.

CVSS Base Score: 6.8
CVSS Temporal Score: 5.3
CVSS v2 Vector: (AV:L/AC:L/Au:S/C:C/I:C/A:C/E:POC/RL:OF/RC:C)

CVE-2016-7384

NVIDIA Windows GPU Display Driver contains a vulnerability in the kernel mode layer (nvlddmkm.sys) where unchecked input/output lengths in UVMLiteController Device IO Control handling may lead to denial of service or potential escalation of privileges.

CVSS Base Score: 6.8
CVSS Temporal Score: 5.3
CVSS v2 Vector: (AV:L/AC:L/Au:S/C:C/I:C/A:C/E:POC/RL:OF/RC:C)

CVE-2016-7388

NVIDIA Windows GPU Display Driver contains a vulnerability in the kernel mode layer (nvlddmkm.sys) handler where a NULL pointer dereference caused by invalid user input may lead to denial of service or potential escalation of privileges.

CVSS Base Score: 6.8
CVSS Temporal Score: 5.3
CVSS v2 Vector: (AV:L/AC:L/Au:S/C:C/I:C/A:C/E:POC/RL:OF/RC:C)

CVE-2016-7381

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

CVSS Base Score: 6.8
CVSS Temporal Score: 5
CVSS v2 Vector: (AV:L/AC:L/Au:S/C:C/I:C/A:C/E:U/RL:OF/RC:C)

CVE-2016-7383

NVIDIA Windows GPU Display Driver contains a vulnerability in a memory mapping API in the kernel mode layer (nvlddmkm.sys) handler, leading to denial of service or potential escalation of privileges.

CVSS Base Score: 5.7
CVSS Temporal Score: 4.5
CVSS v2 Vector: (AV:L/AC:L/Au:S/C:P/I:P/A:C/E:POC/RL:OF/RC:C)

CVE-2016-7386

NVIDIA Windows GPU Display Driver contains a vulnerability in the kernel mode layer (nvlddmkm.sys) handler for DxgkDdiEscape ID 0x70000D4 which may lead to leaking of kernel memory contents to user space through an uninitialized buffer.

CVSS Base Score: 1.7
CVSS Temporal Score: 1.3
CVSS v2 Vector: (AV:L/AC:L/Au:S/C:P/I:N/A:N/E:POC/RL:OF/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-8805 through CVE-2016-8811

CVE-2016-7391

CVE-2016-7387

CVE-2016-7385

CVE-2016-7390

CVE-2016-7384

CVE-2016-7388

CVE-2016-7381

CVE-2016-7383

CVE-2016-7382

CVE-2016-7386

Quadro

NVS

Tesla
GeForce

GRID

Graphics Driver

Windows

CVE-2016-8812

Quadro

NVS

Tesla

GeForce

GeForce Experience

Windows

 

Fixes

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

Product Product Series OS Driver Branch 1st Version Including the Fix
Quadro
NVS
All Windows R375 375.63
R340 342.00
Tesla All Windows R367 369.73
GRID  GRID Series  Windows  R367 GRID Software 4.1
369.71
R361 GRID Software 3.3
363.24
GeForce GPUs with Tesla architecture Windows R340 342.00
GeForce All Windows R375 375.63
GeForce Experience All Windows R375 GFE 3.1.0.52
R340 GFE 2.11.4.125

Mitigations

None

Acknowledgements

NVIDIA was informed of the following CVEs by Oliver Chang, working with Google Project Zero: CVE-2016-8805, CVE-2016-8806, CVE-2016-8807, CVE-2016-8808, CVE-2016-8809, CVE-2016-8810, CVE-2016-8811, CVE-2016-8812, CVE-2016-7391, CVE-2016-7387, CVE-2016-7385, CVE-2016-7390, CVE-2016-7384, and CVE-2016-7386

Revision History

Revision Date Description
4.1 January 11, 2017 Corrected a typographical error in the name of the DxgkDdiEscape function
4.0 January 4, 2017 Added information about fixes available for affected NVIDIA GRID products
3.0 November 21, 2016 Added information about fixes available for affected NVIDIA GRID products
2.0 November 16, 2016 Added information about fixes available for affected Tesla products
1.1 November 2, 2016 Added information about fixes available for GeForce GPUs with Tesla architecture
1.0 October 28, 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. Select 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