CVE-2020-37223IObit Uninstaller 9.5.0.15 版本中存在一个未引用服务路径漏洞。该漏洞源于 IObitUnSvr 系统服务的安装路径未包含引号,允许本地攻击者利用此缺陷进行权限提升。攻击者只需在特定目录下放置恶意可执行文件并重启服务,即可获得 SYSTEM 级别的最高控制权限,严重威胁系统安全。
该漏洞的根源在于 IObitUnSvr 服务的注册表键值 `ImagePath` 未被引号包裹。在 Windows 系统中,创建服务时如果可执行文件路径包含空格且未加引号,服务控制管理器(SCM)会从路径开头解析,直到遇到第一个空格,并将该部分视为可执行文件,其余部分视为参数。对于 `C:\Program Files (x86)\IObit\IObitUnSvr.exe`,系统会尝试执行 `C:\Program.exe`,若不存在则尝试 `C:\Program Files (x86)\IObit\IObit.exe`。由于普通用户通常对 `C:\Program Files (x86)\IObit\` 目录拥有写入权限,攻击者可在此目录下放置名为 `IObit.exe` 的恶意可执行文件。当服务重启或系统重启时,SCM 会错误地加载并执行攻击者的 `IObit.exe`,而非原本的服务程序。由于服务通常以 SYSTEM 权限运行,攻击者的代码也将以 SYSTEM 权限执行,从而成功实现从普通用户到系统管理员的权限提升。