CVE-2020-37247Kite 4.2.0.1 U1版本中的KiteService Windows服务存在未引用的服务路径漏洞。该漏洞源于服务二进制路径未被引号包裹且包含空格,导致本地攻击者能够在Program Files目录下植入恶意可执行文件。当服务启动时,系统将误执行该恶意文件并赋予LocalSystem权限,从而成功实现本地权限提升。
该漏洞核心在于Windows服务控制管理器(SCM)对未加引号服务路径的解析逻辑缺陷。在Kite 4.2.0.1 U1版本中,KiteService服务的ImagePath路径包含空格(例如 C:\Program Files\Kite\service.exe),但未使用双引号包裹。根据Windows解析规则,SCM在启动服务时,会从路径开头逐个字符读取,遇到第一个空格时即认为路径结束,并尝试执行该部分文件名,若失败则继续尝试包含后续部分的路径。本地低权限攻击者可利用此机制,在系统根目录(如C:\)或特定目录下创建名为Program.exe的恶意可执行文件。由于系统部分目录允许普通用户写入或通过其他方式放置文件,一旦KiteService被重启(如系统重启或手动重启),系统将以LocalSystem最高权限加载并执行攻击者的恶意程序。这将导致攻击者完全控制系统,执行任意代码、添加管理员账户或安装持久化后门,成功实现从低权限用户到SYSTEM权限的垂直提权。