戴尔SupportAssist DLL劫持漏洞

发布时间 2019-06-22

背景描述


6月21日戴尔发布安全通报,敦促用户更新戴尔电脑上预安装的SupportAssist软件,以修复DLL劫持漏洞(CVE-2019-12280)。该漏洞可被具有常规用户权限的攻击者利用,通过恶意DLL文件进行提权和获得持久性。

漏洞列表


CVE ID  :   CVE-2019-12280
戴尔DSA编号:   DSA-2019-084
漏洞等级:   高危
CVSS评分:   暂无
影响范围:   Dell SupportAssist for Business PCs版本2.0;Dell SupportAssist for Home PCs 3.2.1及之前的所有版本

漏洞详情


SupportAssist是戴尔电脑上预安装的一个软件,用于检查系统硬件和软件的运行状况,该软件以SYSTEM权限运行。SafeBreach Labs研究人员发现该软件存在DLL劫持漏洞(CVE-2019-12280),允许远程攻击者将任意未签名的DLL加载到以SYSTEM权限运行的服务中,从而实现权限提升和持久性 - 包括对物理内存、系统管理BIOS等底层组件的读/写访问。该漏洞使攻击者能够通过已签名的服务加载和执行恶意payload,攻击者可将此能力用于执行或逃避检测等不同目的,例如:应用程序白名单绕过、签名验证绕过。


根据SafeBreach的报告,该漏洞的根本原因是:


1、缺乏安全的DLL加载。代码中使用LoadLibraryW方法,而不是LoadLibraryExW;这允许未经授权的用户通过某些标记来定义搜索顺序,例如LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR。反过来,该标记又限定只在自己的文件夹中搜索DLL,避免了在PATH变量中搜索DLL的情况。


2、没有对二进制文件进行签名验证。该程序没有验证它将加载的DLL是否已签名,因此它将加载任意未签名的DLL。


由于戴尔SupportAssist使用的组件是由第三方PC-Doctor开发和维护的,因此该漏洞也影响到依赖PC-Doctor的其它PC制造商。SafeBreach Labs确认受影响的组件是PC-Doctor Toolbox for Windows,该组件被以下工具所使用:


CORSAIR ONE Diagnostics
CORSAIR Diagnostics
Staples EasyTech Diagnostics
Tobii I-Series Diagnostic Tool
Tobii Dynavox Diagnostic Tool

漏洞时间线:


4月29日 - 报告漏洞
5月08日 - 戴尔确认该漏洞
5月21日 - 戴尔将漏洞发送给PC-Doctor
5月22日 - 获得编号CVE-2019-12280,assign给PC-Doctor
5月28日 - 戴尔发布SupportAssist更新,修复该漏洞
6月19日 - 漏洞披露

修复建议


建议戴尔用户更新至以下版本:


Dell SupportAssist for Business PCs 版本2.0.1
Dell SupportAssist for Home PCs 版本3.2.2

参考链接


https://www.dell.com/support/article/cn/zh/cndhs1/sln317291/dsa-2019-084-dell-supportassist-for-business-pcs-and-dell-supportassist-for-home-pcs-security-update-for-pc-doctor-vulnerability?lang=en
https://safebreach.com/Post/OEM-Software-Puts-Multiple-Laptops-At-Risk
https://thehackernews.com/2019/06/dells-supportassist-hacking.html