CVE-2020-37020
SonarQube vulnerability analysis and mitigation

Overview

CVE-2020-37020 is an unquoted service path vulnerability in SonarQube 8.3.1 that allows local attackers to escalate privileges to SYSTEM level. The flaw exists in the Windows service executable path configuration, enabling an attacker with low-privileged local access to place a malicious executable in the unquoted path, which is then executed with SYSTEM privileges upon service restart. It was published on January 29, 2026, and is classified as CWE-428 (Unquoted Search Path or Element). The vulnerability carries a CVSS v3.1 base score of 7.8 (High) and a CVSS v4.0 base score of 8.5 (High) (VulnCheck Advisory, Exploit-DB).

Technical details

The root cause is CWE-428 (Unquoted Search Path or Element): when a Windows service is registered with an executable path containing spaces but without enclosing quotation marks, the Windows Service Control Manager attempts to resolve the path by testing each space-delimited segment as a potential executable. In SonarQube 8.3.1, the service path for wrapper.exe is unquoted, allowing a local attacker with write access to a parent directory in the path to place a malicious executable (e.g., SonarQube.exe or similar) that Windows will execute before reaching the legitimate binary. Exploitation requires low-privileged local access and no user interaction, and is triggered when the SonarQube service is restarted. A public proof-of-concept exploit is available on Exploit-DB (Exploit-DB, VulnCheck Advisory).

Impact

Successful exploitation grants the attacker SYSTEM-level code execution on the Windows host running SonarQube 8.3.1, resulting in full compromise of confidentiality, integrity, and availability of the affected system. An attacker achieving SYSTEM privileges can access all data on the host — including SonarQube's source code analysis results, credentials, and configuration secrets — install persistent backdoors, disable security controls, and potentially pivot to other systems on the network (VulnCheck Advisory, Exploit-DB).

Exploitability

A public proof-of-concept exploit (EDB-ID 48677) is available on Exploit-DB, lowering the barrier for exploitation. The EPSS score is approximately 0.012% (0.000120), indicating a currently low probability of widespread automated exploitation. There is no evidence of active in-the-wild exploitation or threat actor attribution at this time, and the vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. Exploitation requires local access with low privileges, limiting the attack surface compared to remote vulnerabilities (Exploit-DB, VulnCheck Advisory).

Exploitation steps

  1. Reconnaissance: Gain low-privileged local access to the Windows host running SonarQube 8.3.1. Enumerate installed services using sc qc SonarQube or wmic service get name,pathname,startmode to identify the unquoted service path for the SonarQube wrapper executable.
  2. Identify writable directory: Analyze the unquoted service path (e.g., C:\Program Files\SonarQube 8.3.1\bin\windows-x86-64\wrapper.exe) and determine which parent directory segment (e.g., C:\Program Files\SonarQube) is writable by the current low-privileged user using icacls or similar tools.
  3. Place malicious executable: Craft or compile a malicious executable (e.g., a reverse shell or privilege escalation payload) and place it at the path Windows will attempt to resolve first (e.g., C:\Program.exe or C:\Program Files\SonarQube.exe), depending on the exact path and writable location.
  4. Trigger service restart: Wait for or trigger a SonarQube service restart (e.g., via system reboot, or if the attacker has permissions to restart services). Windows SCM will execute the malicious binary with SYSTEM privileges before reaching the legitimate wrapper.exe.
  5. Achieve SYSTEM access: The malicious executable runs as SYSTEM, granting full control of the host (Exploit-DB, VulnCheck Advisory).

Indicators of compromise

  • Logs: Windows System Event Log entries (Event ID 7036, 7045) showing unexpected service state changes or new service registrations; Windows Security Event Log entries (Event ID 4688) showing unusual processes spawned by services.exe with SYSTEM privileges.
  • File System: Unexpected executables placed in directories along the SonarQube service path (e.g., C:\Program.exe, C:\Program Files\SonarQube.exe, or similar path-segment executables); modification timestamps on directories in the SonarQube installation path that do not align with legitimate software updates.
  • Process: Unusual child processes of services.exe running as SYSTEM that are not the legitimate wrapper.exe; reverse shell or command-and-control processes running under the SYSTEM account originating from the SonarQube service path.
  • Network: Unexpected outbound connections from the SonarQube host to external IPs, particularly shortly after a service restart event.

Mitigation and workarounds

The primary remediation is to upgrade SonarQube to a version that quotes the service executable path correctly; users should check the SonarQube release notes for a patched version beyond 8.3.1. As an immediate workaround, administrators can manually edit the Windows service registry entry (HKLM\SYSTEM\CurrentControlSet\Services\SonarQube) to enclose the ImagePath value in double quotes, ensuring the path is properly quoted. Additionally, restrict write permissions on all directories in the SonarQube installation path to prevent low-privileged users from placing executables there. Regularly audit service paths on Windows hosts using tools like sc qc or Sysinternals Autoruns to detect unquoted paths (VulnCheck Advisory, Exploit-DB).

Community reactions

The vulnerability received limited but notable coverage upon its NVD publication in January 2026, with security blogs such as infinitsec.net and ctrlaltnod.com publishing write-ups on the flaw. Social media activity was modest, with mentions on Bluesky and aggregation by vulnerability tracking platforms. No official public statement from SonarSource (the vendor) has been identified in available sources (infinitsec.net, ctrlaltnod.com).

Additional resources


SourceThis report was generated using AI

Related SonarQube vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2020-37020HIGH8.5
  • SonarQube logoSonarQube
  • cpe:2.3:a:sonarsource:sonarqube
NoYesJan 29, 2026
CVE-2024-47911HIGH7.2
  • SonarQube logoSonarQube
  • cpe:2.3:a:sonarsource:sonarqube
NoYesOct 04, 2024
CVE-2024-47910HIGH7.2
  • SonarQube logoSonarQube
  • cpe:2.3:a:sonarsource:sonarqube
NoYesOct 04, 2024
CVE-2024-38460MEDIUM6.5
  • Java logoJava
  • org.sonarsource.sonarqube:sonar-web
NoYesJun 16, 2024
CVE-2020-28002MEDIUM5.3
  • SonarQube logoSonarQube
  • sonarqube
NoYesNov 02, 2020

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management