CVE-2025-0416
Executive Summary
CVE-2025-0416 is a local privilege escalation vulnerability in Valmet DNA versions prior to C2023. The flaw resides in an insecure DCOM configuration for the Valmet DNA Engineering object, which grants excessive permissions allowing it to run commands as a user with the SeImpersonatePrivilege privilege. An authenticated local attacker can exploit this to impersonate another user (e.g., SYSTEM) and gain complete control of the system. The vulnerability has a CVSS score of 0.0 (pending official scoring) but is assessed as critical due to the potential for full system compromise. No public exploit code or proof-of-concept is currently available.
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.
No signup required
Supply Chain & Package Security
This vulnerability is not related to NPM, PyPI, Go, or Ruby packages. It is a proprietary industrial control system (ICS) component from Valmet.
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 a low-privileged user account.
- User Interaction: None (UI:N) – no user action required.
- Scope: Unchanged (S:U) – the vulnerable component and the impacted component are the same.
- Confidentiality Impact: High (C:H) – full system compromise.
- Integrity Impact: High (I:H) – full system compromise.
- Availability Impact: High (A:H) – full system compromise.
Threat Level: Critical. The vulnerability allows a low-privileged attacker to escalate to SYSTEM, enabling complete control over the host.
Deep Dive & Mechanics
The vulnerability is rooted in the DCOM (Distributed Component Object Model) configuration for the Valmet DNA Engineering object. DCOM allows software components to communicate across a network, but its security relies on proper permission settings. In this case, the DCOM object is configured with permissions that grant the Everyone group or a similarly broad group the ability to launch and activate the object with SeImpersonatePrivilege.
SeImpersonatePrivilege is a Windows privilege that allows a process to impersonate a security principal (e.g., a user or system account). When a DCOM object is configured to run with this privilege, any process that can interact with the object can request impersonation of another user. An attacker with local access can:
- Enumerate the DCOM object using tools like
dcomcfgor PowerShell. - Create a malicious COM client that connects to the
Valmet DNA Engineeringobject. - Request the object to execute a command (e.g.,
cmd.exe /c whoami) under the context of a privileged user (e.g., SYSTEM). - The object, due to its insecure permissions, honors the request and executes the command with elevated privileges.
This is a classic DCOM privilege escalation, similar to the "Juicy Potato" family of exploits but specific to the Valmet DNA component.
Vulnerable vs. Patched Code
Vulnerable Configuration (Pre-C2023):
The DCOM object Valmet DNA Engineering has its security descriptor set to allow Everyone or Authenticated Users to launch and activate the object with SeImpersonatePrivilege. This can be checked via the registry:
HKEY_CLASSES_ROOT\AppID\{GUID}\AccessPermission
Where the ACL grants Launch and Activation permissions to low-privileged users.
Patched Configuration (C2023+):
Valmet has restricted the DCOM object's permissions to only allow authorized users (e.g., Administrators or a dedicated service account) to launch and activate it. The SeImpersonatePrivilege is no longer granted to unprivileged users. The patched ACL might look like:
HKEY_CLASSES_ROOT\AppID\{GUID}\AccessPermission
Where only BUILTIN\Administrators has Launch and Activation permissions.
Exploitation & Lab Setup
Red Team
Prerequisites:
- Local access to a Valmet DNA system (pre-C2023).
- A low-privileged user account (e.g.,
valmet_user).
Steps:
Enumerate DCOM Objects: Use PowerShell to list DCOM objects with insecure permissions:
Get-WmiObject -Class Win32_DCOMApplication | Select-Object Name, AppIDIdentify the Target: Look for
Valmet DNA Engineeringand note its AppID GUID.Create Malicious COM Client: Write a C# or PowerShell script that connects to the DCOM object and requests command execution. Example using PowerShell:
$comObject = [System.Activator]::CreateInstance([type]::GetTypeFromCLSID("{GUID}")) $comObject.RunCommand("cmd.exe /c whoami > C:\temp\output.txt")Execute and Escalate: Run the script as the low-privileged user. The command will execute with SYSTEM privileges.
Expected Output:
The output.txt file will contain nt authority\system.
Blue Team
Detection:
- Monitor for unusual DCOM activation events (Event ID 10000 in Microsoft-Windows-DCOM).
- Look for processes spawned by
dllhost.exeorsvchost.exewith unusual command-line arguments. - Track registry modifications to
HKEY_CLASSES_ROOT\AppID\{GUID}\AccessPermission.
Hunting:
- Search for PowerShell scripts that use
[System.Activator]::CreateInstancewith CLSID values. - Identify processes that create remote named pipes or impersonation tokens.
Mitigation:
- Apply the vendor patch (upgrade to C2023 or later).
- If patching is not possible, restrict the DCOM object's permissions manually via
dcomcnfgor registry hardening.
Indicators of Compromise (IOCs)
- Registry Key:
HKEY_CLASSES_ROOT\AppID\{GUID}\AccessPermissionwith overly permissive ACLs. - Event ID: 10000 (DCOM activation) with unusual user accounts.
- Process:
dllhost.exeorsvchost.exespawningcmd.exeorpowershell.exewith suspicious arguments. - Network: Unusual DCOM traffic (TCP port 135) from localhost to localhost.
- File:
C:\temp\output.txtor similar files created by SYSTEM account in user-writable directories.
Detection Engineering
YARA Rule
rule CVE_2025_0416_DCOM_Exploit {
meta:
description = "Detects attempts to exploit CVE-2025-0416 via DCOM activation"
author = "Valters IT"
date = "2025-04-01"
reference = "CVE-2025-0416"
strings:
$s1 = "Valmet DNA Engineering" nocase
$s2 = "SeImpersonatePrivilege" nocase
$s3 = "CreateInstance" nocase
$s4 = "RunCommand" nocase
condition:
any of ($s1, $s2) and any of ($s3, $s4)
}
Sigma Rule
title: CVE-2025-0416 DCOM Privilege Escalation
id: 12345678-1234-1234-1234-123456789012
status: experimental
description: Detects DCOM activation events for Valmet DNA Engineering object
author: Valters IT
date: 2025-04-01
logsource:
product: windows
service: security
detection:
selection:
EventID: 10000
ObjectName: 'Valmet DNA Engineering'
condition: selection
falsepositives:
- Legitimate Valmet DNA operations
level: high
Suricata Rule
alert tcp $HOME_NET any -> $HOME_NET 135 (msg:"CVE-2025-0416 DCOM Exploit Attempt"; flow:to_server; content:"|05 00 0b 03 10 00 00 00|"; depth:8; content:"Valmet DNA Engineering"; nocase; classtype:attempted-admin; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Patch: Upgrade Valmet DNA to version C2023 or later.
- Workaround: If patching is delayed, manually restrict the DCOM object's permissions:
- Open
dcomcnfg→ Component Services → Computers → My Computer → DCOM Config. - Locate
Valmet DNA Engineering, right-click → Properties → Security. - Under "Launch and Activation Permissions", remove
EveryoneandAuthenticated Users, add onlyAdministrators.
- Open
- Monitor: Enable auditing for DCOM activation events (Event ID 10000) and review logs for suspicious activity.
Long-Term:
- Implement the principle of least privilege for all DCOM objects.
- Regularly audit DCOM permissions using tools like
dcompermor PowerShell. - Apply vendor security advisories promptly.
Valters IT
Securing Industrial Control Systems