IPBUF安全漏洞报告
English
CVE-2021-47810 CVSS 7.8 高危

CVE-2021-47810 WibuKey Runtime WkSvW32.exe未引用服务路径权限提升漏洞

披露日期: 2026-01-16

漏洞信息

漏洞编号
CVE-2021-47810
漏洞类型
未引用服务路径漏洞
CVSS评分
7.8 高危
攻击向量
本地 (AV:L)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
WibuKey Runtime 6.51, WkSvW32.exe

相关标签

未引用服务路径权限提升本地攻击WibuKeyWkSvW32Windows服务漏洞高危漏洞CVE-2021-47810路径遍历本地提权

漏洞概述

CVE-2021-47810是WibuKey Runtime 6.51软件中的一个高危本地权限提升漏洞。该漏洞存在于WkSvW32.exe Windows服务中,由于其服务路径未使用引号包裹,当系统尝试启动该服务时,会受到路径解析顺序的影响。攻击者可以利用这一特性,在服务路径的中间目录位置植入恶意可执行文件,当服务启动时,系统会优先执行攻击者植入的恶意程序而非合法的服务可执行文件。由于WkSvW32.exe服务通常以系统权限或高权限账户运行,攻击者成功利用该漏洞后可获得目标系统的更高权限,甚至实现完全的系统控制。此漏洞的CVSS评分为7.8,属于高危级别,攻击复杂度低,无需用户交互,且对机密性、完整性和可用性均造成高影响。

技术细节

该漏洞的根本原因在于Windows服务配置中的路径解析机制。当Windows服务配置中的可执行文件路径包含空格且未使用引号包裹时,系统会按照从左到右的顺序尝试解析路径中的每一个空格分隔的部分。例如,对于路径C:\PROGRAM FILES (X86)\WIBUKEY\SERVER\WkSvW32.exe,系统会首先尝试查找C:\PROGRAM.exe,如果不存在,则继续尝试C:\PROGRAM FILES.exe,依此类推。攻击者可以利用这一特性,在C:\Program Files (x86)\目录下创建一个名为Program.exe的恶意可执行文件,当WibuKey服务启动时,系统会首先执行该恶意程序而非合法的WkSvW32.exe。由于WkSvW32.exe服务通常以SYSTEM或管理员权限运行,攻击者植入的恶意代码也会以相同的高权限执行,从而实现权限提升。攻击者需要具有本地访问权限和写入特定目录的能力,但不需要特殊的认证或用户交互即可实施攻击。

攻击链分析

STEP 1
步骤1
攻击者获得目标系统的本地访问权限,具备在系统目录写入文件的能力
STEP 2
步骤2
攻击者识别WibuKey Runtime服务(WkSvW32)的安装路径,发现路径C:\Program Files (x86)\WibuKey\Server\WkSvW32.exe存在空格且未使用引号包裹
STEP 3
步骤3
攻击者将恶意可执行文件(如Program.exe)写入到路径C:\Program Files (x86)\目录,利用Windows服务路径解析顺序
STEP 4
步骤4
当WibuKey服务启动或重启时,系统会优先查找并执行C:\Program Files (x86)\Program.exe而非合法的WkSvW32.exe
STEP 5
步骤5
恶意代码以WkSvW32服务的高权限(SYSTEM或管理员权限)执行,攻击者成功实现本地权限提升
STEP 6
步骤6
攻击者可进一步利用获得的系统权限执行任意代码、安装后门、窃取敏感数据或完全控制目标系统

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/usr/bin/env python3 """ CVE-2021-47810 PoC - WibuKey Runtime WkSvW32.exe Unquoted Service Path This PoC demonstrates the unquoted service path vulnerability in WibuKey Runtime. Note: This is for educational and authorized testing purposes only. """ import os import sys import subprocess import shutil def check_vulnerability(): """Check if WibuKey service is installed and has unquoted path""" try: result = subprocess.run( ['sc', 'qc', 'WkSvW32'], capture_output=True, text=True ) if 'WkSvW32' in result.stdout: # Check for unquoted path with spaces if 'BINARY_PATH_NAME' in result.stdout: for line in result.stdout.split('\n'): if 'BINARY_PATH_NAME' in line: path = line.split(':', 1)[1].strip() if ':' in line else line.strip() print(f"[+] Service path: {path}") # Check if path contains spaces and is not quoted if ' ' in path and not path.startswith('"'): print("[!] VULNERABLE: Unquoted path with spaces detected!") return True else: print("[-] Service path appears to be properly quoted") return False else: print("[-] WkSvW32 service not found") return False except Exception as e: print(f"[-] Error checking service: {e}") return False def exploit(): """ Exploitation steps (for authorized testing only): 1. Create malicious executable at C:\Program.exe 2. Wait for service restart or trigger service stop/start 3. Malicious code executes with service privileges """ malicious_path = r"C:\Program.exe" # For demonstration, create a simple reverse shell or payload # This should be replaced with actual malicious code in real attack print(f"[*] In a real attack, malicious code would be placed at: {malicious_path}") print("[*] When WkSvW32 service starts, it would execute the malicious Program.exe") print("[*] The malicious code would run with SYSTEM privileges") if __name__ == "__main__": print("=" * 60) print("CVE-2021-47810 - WibuKey Runtime Unquoted Service Path PoC") print("=" * 60) if os.name == 'nt': is_vulnerable = check_vulnerability() if is_vulnerable: print("\n[*] Vulnerability confirmed!") # Uncomment below line for authorized testing only: # exploit() else: print("\n[-] Target system does not appear to be vulnerable") else: print("[-] This PoC only works on Windows systems")

影响范围

WibuKey Runtime <= 6.51
WkSvW32.exe (所有未修复版本)

防御指南

临时缓解措施
在供应商发布正式修复补丁前,可采取以下临时缓解措施:1) 修改WibuKey服务配置,为BINARY_PATH_NAME添加引号包裹的完整路径;2) 移除C:\Program Files (x86)\目录的写入权限,仅保留给管理员;3) 部署应用程序白名单策略阻止Program.exe等常见攻击文件名在该目录执行;4) 监控系统安全日志,关注WkSvW32服务相关的异常进程启动行为;5) 考虑使用虚拟化技术隔离WibuKey相关组件以降低风险暴露面。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表