NVIDIA于2月底在技术支持网页发布的网络安全公告中,提到包含GeForce、Quadro、NVS、Tesla等产品在内的绘图处理器驱动程序具有漏洞,用户可能因此受拒绝服务攻击、特权提升、执行任意程序代码、数据外泄等网络安全风险危害,并建议将驱动程序升级至419.17之后版本。
根据NVIDIA在《Security Bulletin: NVIDIA GPU Display Driver – February 2019》一文指出https://nvidia.custhelp.com/app/answers/detail/a_id/4772,旗下的GeForce显卡、 Quadro专业绘图卡、NVS多重显示器商业绘图卡、Tesla加速卡等产品之驱动程序总计共有8个漏洞。
这些漏洞包含会造成系统资源被耗尽的拒绝服务攻击(Denial-of-Service,DoS),以及通过特权提升(Escalation of Privileges)手法,让攻击者通过漏洞取得比应用程序开发者或系统管理员预期的更高的操作权限权,进而执行超出原本权限的操作。此外也包含能够让攻击者执行执行任意程序代码(Arbitrary Code Execution,ACE)的漏洞,并造成数据外泄风险。
在文中NVIDIA使用通用弱点枚举(Common Weakness Enumeration,CWE)格式与通用漏洞评分系统3.0(Common Vulnerability Scoring System 3.0,CVSS 3.0)记录。其中CVSS 3.0的基础分数(Base Score)越高代表风险越大,0.1-3.9表示低度风险、4.0-6.9表示中度风险、7.0-8.9表示高度风险、9.0-10.0则为危急风险。各漏洞的信息如下:
CVE‑2019‑5665(基础分数= 8.8):Windows显示驱动程序的3D vision组件在打开文件时不会检查硬链接(Hard Link),可能造成DoS、特权提升、ACE等问题。
CVE‑2019‑5666(基础分数= 8.8):Windows显示驱动程序的核心模式层具有漏洞(nvlddmkm.sys),会在创建DDI DxgkDdiCreateContext回呼函数(Callback Function)文本指令时使用非信任的输入,可能造成DoS、特权提升等问题。
CVE‑2019‑5667(基础分数= 8.8):Windows显示驱动程序的核心模式层具有处理DxgkDdiSetRootPageTable回呼函数的漏洞,在应用程序提取数值为“NULL”的指标时,会认为其为有效值,可能造成ACE、DoS、特权提升等问题。
CVE‑2019‑5668(基础分数 = 8.8):与上述相同,但回呼函数为DxgkDdiSubmitCommandVirtual。
CVE‑2019‑5669(基础分数= 8.8):Windows显示驱动程序的核心模式层具有处理DxgkDdiEscape回呼函数的漏洞,会造成缓冲区溢出(Buffer Overflow),可能造成DoS、特权提升等问题。
CVE‑2019‑5670(基础分数 = 7.8):与上述相同,但回呼函数为DxgkDdiEscape,可能造成DoS、特权提升、ACE、数据外泄等问题。
CVE‑2019‑5671(基础分数= 6.5):Windows显示驱动程序的核心模式层具有处理DxgkDdiEscape回呼函数的漏洞,程序不会在结束后释放资源,可能造成DoS问题。
CVE‑2018‑6260(基础分数= 2.2):显示驱动程序具有旁路攻击(Side Channel)漏洞,攻击者可以通过性能计数器(GPU Performance Counters)访问绘图处理器处理的数据。这个漏洞需在本机端执行,无法通过网络或远程攻击。
这批漏洞主要以Windows操作系统版本为主,但Linux也会受些许影响。
若以最常见的GeForce显卡搭配Windows操作系统为例,计算机会受到上述所有漏洞影响,因此最好能将驱动程序升级至419.17版本。
此外针对CVE-2018-6260漏洞,用户除了需要更新驱动程序外,还需手动打开NVIDIA控制面板,在“桌面”菜单中勾选“打开开发者设置”,然后在“开发者-> 管理GPU性能计数器”页面中,选择“将GPU性能计数器的访问权限仅限于管理员用户”,才能防堵漏洞。
CVE-2018-6260除了更新驱动程序外,还需手动设置。
至于而其他产品与操作系统的组合也会受到不同程度的影响,虽然有些问题已在旧版驱动程序中修正,但最好还是能维持驱动程序在最新版本以保障安全。