CVE-2017-20218CVE-2017-20218是Serviio PRO 1.8版本中存在的严重安全漏洞,攻击者利用Windows服务中的未加引号搜索路径(Unquoted Service Path)缺陷,配合不当的目录权限设置,实现本地权限提升。该漏洞允许经过身份验证的低权限用户在系统根路径放置恶意可执行文件,当服务启动或系统重启时,Windows会按照PATH环境变量顺序搜索可执行文件,攻击者可利用搜索顺序在合法程序执行前劫持进程。此外,安装目录的权限配置存在严重问题,Users组具有完全控制权限,使得普通用户可以替换原始可执行文件为恶意程序。由于Serviio服务通常以SYSTEM或管理员权限运行,攻击成功后将获得系统最高权限,完全控制目标主机。
该漏洞涉及两个安全缺陷的组合利用。首先是未加引号的搜索路径问题:Serviio服务在Windows系统中注册为自动启动服务,其可执行文件路径未使用引号包裹。当服务启动时,Windows服务控制管理器会按照PATH环境变量顺序搜索可执行文件,如果路径中包含空格且未加引号,Windows会尝试将路径按空格分割后匹配。例如路径C:\Program Files\Serviio\bin\ServiioService.exe可能被解析为尝试执行C:\Program.exe或C:\Program Files\Serviio\bin\ServiioService.exe。其次是权限配置问题:Serviio安装目录对Users组开放了完全控制权限,允许经过身份验证的用户写入、修改和替换文件。攻击者可在系统可访问的路径(如C:\)放置名为Program.exe的恶意可执行文件,服务启动时将优先执行该恶意程序,从而在SYSTEM上下文执行任意代码。