CVE-2020-37030 Overview
CVE-2020-37030 is an unquoted service path vulnerability affecting Outline Service version 1.3.3. This security flaw allows local users to potentially execute arbitrary code with elevated system privileges by exploiting the unquoted binary path in C:\Program Files (x86)\Outline. When the Windows Service Control Manager attempts to start the service, it may inadvertently execute a malicious executable planted in a location that takes precedence in the path resolution order, granting attackers LocalSystem permissions.
Critical Impact
Local attackers with low privileges can achieve full system compromise by exploiting the unquoted service path to execute malicious code with LocalSystem permissions during service startup.
Affected Products
- Outline Service 1.3.3
Discovery Timeline
- 2026-01-30 - CVE CVE-2020-37030 published to NVD
- 2026-02-04 - Last updated in NVD database
Technical Details for CVE-2020-37030
Vulnerability Analysis
This vulnerability is classified under CWE-428 (Unquoted Search Path or Element), a common Windows service configuration weakness. When a Windows service is registered with an executable path containing spaces but lacking proper quotation marks, the operating system's path resolution mechanism can be exploited to execute unintended binaries.
In the case of Outline Service, the installation path C:\Program Files (x86)\Outline contains a space character. Without proper quoting, Windows attempts to resolve the path by testing multiple interpretations sequentially. An attacker who can write to locations like C:\Program.exe or C:\Program Files.exe can intercept the service startup process and execute their malicious payload with the service's elevated privileges.
The vulnerability requires local access to the target system, making it particularly dangerous in scenarios involving shared workstations, compromised user accounts, or multi-user environments where privilege separation is critical.
Root Cause
The root cause of this vulnerability lies in improper service registration configuration. When the Outline Service was installed, the executable path was not enclosed in quotation marks in the Windows Registry. This oversight allows the Windows Service Control Manager to misinterpret the intended binary location when spaces are present in the path.
The service path should have been registered as "C:\Program Files (x86)\Outline\service.exe" rather than C:\Program Files (x86)\Outline\service.exe to prevent path ambiguity during service initialization.
Attack Vector
The attack vector is local, requiring the attacker to have access to the target system with sufficient permissions to write files to specific directory locations. The exploitation process typically involves:
- Identifying the vulnerable unquoted service path through registry or service enumeration
- Determining which intercepting path locations are writable by the current user
- Placing a malicious executable at a location that Windows will resolve before the intended service binary
- Triggering a service restart or waiting for system reboot to execute the payload
The malicious code then executes with LocalSystem privileges, providing the attacker with complete control over the affected system. For detailed technical information about this vulnerability, see the Exploit-DB #48414 entry and the VulnCheck Advisory on Outline Service.
Detection Methods for CVE-2020-37030
Indicators of Compromise
- Presence of unexpected executables named Program.exe, Program Files.exe, or similar at C:\ or C:\Program Files root directories
- Anomalous processes spawned as child processes of services.exe with unexpected binary paths
- Recent file creation events in system root directories by non-administrative users
- Unauthorized modifications to the Outline Service registry entries
Detection Strategies
- Query Windows services for unquoted paths containing spaces using PowerShell: Get-WmiObject Win32_Service | Where-Object { $_.PathName -match '^[^"].*\s.*[^"]$' }
- Monitor file system events for executable file creation in C:\ and C:\Program Files directories
- Implement endpoint detection rules to alert on service startup anomalies where the executing binary differs from the registered service path
- Review Windows Event Logs for Service Control Manager events (Event ID 7034, 7035, 7036) with suspicious timing patterns
Monitoring Recommendations
- Deploy SentinelOne Singularity to detect and prevent privilege escalation attempts through behavioral analysis
- Enable audit logging for object access on critical directory paths to track unauthorized file placement
- Configure alerts for new executable files created in system directories by non-system accounts
- Implement regular automated scanning for unquoted service path vulnerabilities across the enterprise
How to Mitigate CVE-2020-37030
Immediate Actions Required
- Audit all installed Windows services for unquoted path vulnerabilities and remediate immediately
- Restrict write permissions on C:\ and C:\Program Files directories to administrative accounts only
- Monitor for and remove any suspicious executables in system root directories
- Consider temporarily disabling the Outline Service until proper remediation can be applied
Patch Information
Organizations should update to a patched version of Outline Service that properly quotes the service executable path. Consult the Outline Project Home for the latest release information and security updates. If no official patch is available, manual remediation of the service path is required.
Workarounds
- Manually correct the service path in the Windows Registry by adding quotation marks around the full executable path
- Use the sc config command to update the service binary path: sc config "OutlineService" binPath= "\"C:\Program Files (x86)\Outline\OutlineService.exe\""
- Implement application whitelisting to prevent unauthorized executables from running in system directories
- Deploy file integrity monitoring on directories commonly targeted by unquoted path exploitation
# Configuration example
# Verify and fix unquoted service path via Registry
# Path: HKLM\SYSTEM\CurrentControlSet\Services\OutlineService
# Change ImagePath from:
# C:\Program Files (x86)\Outline\OutlineService.exe
# To:
# "C:\Program Files (x86)\Outline\OutlineService.exe"
# Alternatively, use sc.exe to fix the path:
sc config "OutlineService" binPath= "\"C:\Program Files (x86)\Outline\OutlineService.exe\""
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

