戴尔SupportAssist DLL劫持漏洞
发布时间 2019-06-22背景描述
漏洞列表
戴尔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 Diagnostics
Staples EasyTech Diagnostics
Tobii I-Series Diagnostic Tool
Tobii Dynavox Diagnostic Tool
漏洞时间线:
5月08日 - 戴尔确认该漏洞
5月21日 - 戴尔将漏洞发送给PC-Doctor
5月22日 - 获得编号CVE-2019-12280,assign给PC-Doctor
5月28日 - 戴尔发布SupportAssist更新,修复该漏洞
6月19日 - 漏洞披露
修复建议
建议戴尔用户更新至以下版本:
Dell SupportAssist for Home PCs 版本3.2.2
参考链接
https://safebreach.com/Post/OEM-Software-Puts-Multiple-Laptops-At-Risk
https://thehackernews.com/2019/06/dells-supportassist-hacking.html