Handing the building janitor who already has the master key an extra copy labeled 'do not audit'
CVE-2026-16438 is an Incorrect Privilege Assignment (CWE-266) flaw in the installers of Mitsubishi Electric's ICONICS GENESIS64, ICONICS Suite, Hyper Historian, AnalytiX, MobileHMI (all ≤ 10.97.3), and MC Works64 (all versions — no patch available). During installation, the setup routines grant overly broad default DCOM Launch and Activation permissions to the product's administrator account. An attacker who has already compromised those admin credentials can then remotely instantiate DCOM objects on the SCADA/HMI host — or pivot laterally to other GENESIS64 nodes — without triggering a UAC elevation prompt. The impact envelope includes information disclosure, data tampering/destruction, and denial-of-service against the SCADA visualization and historian layers.
Mitsubishi Electric and ICONICS rate this CRITICAL at CVSS 4.0 9.4, driven primarily by the Subsequent-system scope metrics (SC:H/SI:H/SA:H) representing DCOM-based pivot to adjacent OT hosts. That rating overstates real-world exploitability. The vector explicitly requires PR:H (High privileges) — the attacker must already authenticate as the product administrator. In Windows security architecture, UAC is classified by Microsoft as a *convenience feature, not a security boundary*. An admin who already has credentials can move laterally via WMI (T1047), PsExec (T1569.002), PowerShell remoting (T1021.006), or scheduled tasks (T1053.005) — all of which bypass UAC by design. The incremental attack surface this CVE adds is real but marginal: it removes one friction point (DCOM UAC elevation) from an attacker who already holds the keys to the kingdom. The OT/ICS deployment context keeps this firmly at HIGH, but the vendor's 9.4 overstates the delta this specific misconfiguration contributes.
5 steps from start to impact.
Obtain GENESIS64 administrator credentials
- Valid administrator account for GENESIS64 / ICONICS Suite
- Network reachability to at least one affected host (typically the OT VLAN)
- Requires prior compromise or credential theft — this is a post-initial-access step
- Mature OT environments segment SCADA networks behind jump servers and MFA-gated VPNs
- Credential rotation and PAM controls reduce availability of static admin passwords
Authenticate to target via DCOM (RPC/135)
dcomexec.py, Cobalt Strike's jump module, or Empire's Invoke-DCOM cmdlet automate this step.- TCP 135 (RPC) reachable between attacker position and target
- DCOM permissions set to default-installed state (unpatched)
- Admin credentials validated in step 1
- Windows Firewall blocks DCOM by default on modern hardened builds
- OT network segmentation should restrict RPC between workstations
- Host-based firewall rules or micro-segmentation can block port 135 lateral traffic
svchost.exe -k DcomLaunch. DCOM activation audit logs (Security Event ID 10028). Network monitoring for RPC traffic patterns between SCADA hosts.Instantiate COM object for code execution
MMC20.Application (ExecuteShellCommand), ShellWindows, or ShellBrowserWindow — on the remote host. The spawned process runs as a child of svchost.exe (DcomLaunch service group) with the privileges of the authenticated admin session, bypassing UAC entirely. This provides arbitrary command execution on the target GENESIS64 node.- Successful DCOM activation from step 2
- Target COM object registered and not restricted via AppID security
- Hardened DCOM configurations (per OTORIO's DCOM Hardening Tool) restrict which COM objects accept remote activation
- Application whitelisting / WDAC policies can block unexpected process spawning under DcomLaunch
- EDR behavioral rules flag
mmc.exeorcmd.exespawned bysvchost.exeas suspicious
T1021.003 behavioral chain. Sysmon Event ID 1 with ParentImage containing svchost.exe and DcomLaunch. Microsoft Defender for Endpoint DCOM lateral movement alert.Lateral pivot across OT fleet
- Multiple GENESIS64/ICONICS hosts reachable on the OT VLAN
- Same admin credentials valid across targets (common in OT)
- Unpatched DCOM permissions on each target
- Properly segmented OT architectures (Purdue Level 3 → Level 2 boundaries) limit lateral reach
- Unique local admin passwords (LAPS or equivalent) break credential reuse
- Network detection of anomalous RPC fan-out patterns between SCADA workstations
Impact: SCADA data manipulation or denial of service
- Successful lateral movement to operationally critical GENESIS64 nodes
- Attacker understands GENESIS64 configuration enough to manipulate displays or data
- Safety Instrumented Systems (SIS) operate independently and should catch dangerous physical states regardless of HMI compromise
- Physical process alarms and hardwired indicators provide backup awareness
- Operators trained to recognize HMI anomalies may notice discrepancies
dcomcnfg.exe → Component Services → My Computer → Properties → COM Security → Launch and Activation Permissions to remove the admin account's default remote launch/activation rights on GENESIS64 COM objects. Alternatively, deploy OTORIO's DCOM Hardening Tool to audit and restrict DCOM objects fleet-wide. Deploy within 30 days per noisgate mitigation SLA for HIGH.- Disabling DCOM system-wide — tempting but will break GENESIS64/ICONICS Suite functionality, as these SCADA products rely on DCOM for inter-component communication (OPC DA, historian connectivity). Only restrict *remote* activation, not local DCOM.
- Network-level IDS signatures for CVE-2026-16438 — this is a configuration flaw in installed DCOM permissions, not a network-exploitable protocol vulnerability. There is no unique network signature; the DCOM traffic looks identical to legitimate admin DCOM usage.
- UAC hardening alone — increasing UAC prompt levels does not fix the root cause. The installer grants DCOM permissions that explicitly bypass UAC elevation requirements. The permissions must be revoked at the DCOM security descriptor level, not the UAC policy level.
- Air-gapping the OT network — helps against external attackers but does not mitigate insider threat or post-compromise lateral movement from a compromised engineering workstation already inside the OT perimeter.
The supporting signals.
| In-the-Wild Exploitation | Not observed. No CISA KEV listing. No known campaigns targeting this specific CVE. The ICONICS product family has been targeted historically (ICSA-22-020-01, ICSA-20-170-03) but this specific DCOM misconfiguration has no confirmed exploitation. |
|---|---|
| Proof-of-Concept Availability | No public PoC found. Checked pocindex.io, GitHub (SecureWithUmer/CVE-2026-PoCs, XZ1r0/cve-2026-poc-collection), ExploitDB, and Nuclei templates — no CVE-2026-16438-specific exploit code. However, generic DCOM lateral movement tooling is mature: Impacket dcomexec.py, Cobalt Strike jump, Empire Invoke-DCOM, and OTORIO's DCOMrade enumerate exploitable DCOM objects. Weaponization requires only pairing these existing tools with valid admin credentials. |
| EPSS Score | 0.00238 (0.238%) — 13.8th percentile. Extremely low near-term exploitation probability. Reflects the PR:H barrier and absence of public PoC. |
| CISA KEV Status | Not listed as of 2026-10-16. No mandatory remediation deadline under BOD 22-01. |
| CVSS 4.0 Vector | CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H — Network-reachable, low complexity, but PR:H (admin required). The Subsequent-system scope (SC/SI/SA all High) is the primary score inflator, reflecting DCOM pivot to adjacent hosts. |
| Affected Version Ranges | GENESIS64 ≤ 10.97.3, ICONICS Suite ≤ 10.97.3, Hyper Historian ≤ 10.97.3, AnalytiX ≤ 10.97.3, MobileHMI ≤ 10.97.3, MC Works64 ALL versions (no patch available — vendor recommends migration). |
| Fixed Versions | ICONICS Suite / IoTWorX 10.98, GENESIS 11.04. Available at ICONICS Resource Center. MC Works64, GENESIS32, and BizViz have no fix — Mitsubishi recommends migration to ICONICS Suite 10.98+. |
| Scanning / Exposure Data | GENESIS64 is an on-premises HMI/SCADA platform deployed behind OT network boundaries. Shodan/Censys show minimal direct internet exposure — SCADA workstations are typically air-gapped or behind firewalls. DCOM (TCP 135) exposure should be zero from the internet per ICS-CERT best practices. The attack surface is internal OT network only in properly architected deployments. |
| Disclosure Timeline | Published 2026-10-15 by Mitsubishi Electric PSIRT (advisory 2026-006). Coordinated with ICONICS/CISA. Released alongside CVE-2026-16436 (CVSS 9.2, weak password recovery) and CVE-2026-16437 (CVSS 7.1, auth bypass). Also bundles fix for CVE-2023-4863 (libwebp, actively exploited). |
| Reporting Organization | Mitsubishi Electric PSIRT. No individual researcher credited in public advisories. Discovery appears to be internal security audit or coordinated vendor research. |
Sources.
- SecurityOnline — Mitsubishi Electric Patches Four Critical ICONICS Suite Vulnerabilities
- CISA ICS Advisory ICSA-26-097-01 — Mitsubishi Electric GENESIS64 and ICONICS Suite
- Strix.ai — CVE-2026-16438 Intelligence Summary
- Offseq Radar — CVE-2026-16438 Threat Analysis
- MITRE ATT&CK T1021.003 — Distributed Component Object Model Lateral Movement
- OTORIO DCOM Hardening Tool — GitHub
- Kaspersky SecureList — Lateral Movement via DCOM: Abusing Control Panel
- ICONICS GENESIS64 10.98 Release Announcement
Why this verdict
- PR:H is a compounding barrier, not a speed bump. The CVSS vector explicitly requires High privileges — the attacker must already possess administrator credentials. This is not unauthenticated RCE; it is a post-authentication, post-compromise lateral movement enabler. The entire attack chain assumes the adversary has already breached the OT network AND obtained admin credentials, which represents significant prior compromise.
- UAC is not a security boundary — the delta is marginal. Microsoft classifies UAC as a convenience feature. An attacker with valid admin credentials can already move laterally via WMI (T1047), PsExec (T1569.002), PowerShell remoting (T1021.006), or scheduled tasks (T1053.005), none of which are gated by UAC in the same way. This CVE removes one friction point (DCOM activation elevation) from an attacker who already has multiple alternative lateral movement paths.
- No exploitation signal whatsoever. Zero in-the-wild exploitation, no KEV listing, no public PoC, EPSS at 13.8th percentile (0.238%). The ICS/OT threat landscape has not engaged with this specific misconfiguration despite DCOM abuse tooling being widely available for years.
- Role multiplier: OT/ICS/SCADA — the floor-setting role. GENESIS64 is canonically a SCADA/HMI platform; ≥90% of installs occupy the high-value OT role by definition. If the chain succeeds (admin creds + DCOM pivot + fleet lateral movement), the blast radius is operational/safety impact — blinding operators, corrupting historian data, or denying SCADA visualization. This is what prevents a downgrade below HIGH despite the PR:H friction. However, the chain's decisive step (obtaining admin credentials) is OUTSIDE this CVE's scope, and an admin-level attacker achieves substantially similar outcomes through alternative means (WMI, PsExec, RDP), limiting this CVE's marginal contribution to the overall threat. This specific evidence — that the CVE's incremental capability over existing admin-level lateral movement tools is marginal — is what breaks the CRITICAL floor to HIGH.
- MC Works64 has no patch. All versions of MC Works64 are affected with no fix available — only migration. This is a real operational concern for Mitsubishi Electric shops running MC Works64, as they cannot simply patch and must plan a product migration.
Why not higher?
The vendor's CRITICAL (9.4) rating is driven by the CVSS 4.0 Subsequent-system scope metrics (SC:H/SI:H/SA:H), which model DCOM pivot to adjacent hosts. While this lateral movement potential is real, the rating ignores that the attacker ALREADY has admin credentials — a prerequisite that implies significant prior compromise. An admin can achieve substantially identical lateral movement outcomes via WMI, PsExec, PowerShell remoting, or scheduled tasks, all of which bypass UAC by design. The marginal capability this specific DCOM permission misconfiguration adds to an admin-level attacker's toolkit does not justify CRITICAL when the decisive barrier (credential compromise) is already cleared.
Why not lower?
Despite PR:H, this vulnerability affects a canonical OT/ICS/SCADA product family where the blast radius of successful exploitation includes operational safety impact — corrupted HMI displays, destroyed historian data, and denial-of-service against process visualization. OT environments commonly share admin credentials across SCADA workstations, making the PR:H barrier lower in practice than in enterprise IT. The DCOM lateral movement path this enables (T1021.003) is specifically called out in ICS threat models and is exploitable with mature, freely available tooling (Impacket, Cobalt Strike). MC Works64 having zero remediation path further elevates risk for affected organizations. MEDIUM would understate the real-world consequences in the OT environments where this software lives.
Crowdsourced verification payload.
Run this script on each GENESIS64 / ICONICS Suite host as a local administrator. It checks (1) installed product version against the vulnerable range, and (2) whether the DCOM default Launch/Activation permissions include overly broad admin grants. Invoke: powershell -ExecutionPolicy Bypass -File .\Check-CVE-2026-16438.ps1
#Requires -RunAsAdministrator
<#
Check-CVE-2026-16438.ps1
Detects CVE-2026-16438: Incorrect DCOM Privilege Assignment in GENESIS64 / ICONICS Suite
Output: VULNERABLE | PATCHED | UNKNOWN
Exit codes: 1 = VULNERABLE, 0 = PATCHED, 2 = UNKNOWN
#>
$ErrorActionPreference = 'Stop'
$result = 'UNKNOWN'
$exitCode = 2
try {
# --- Step 1: Detect installed ICONICS / GENESIS64 version ---
$regPaths = @(
'HKLM:\SOFTWARE\ICONICS',
'HKLM:\SOFTWARE\WOW6432Node\ICONICS',
'HKLM:\SOFTWARE\Mitsubishi Electric\MC Works64'
)
$installedVersion = $null
$productName = $null
$isMCWorks64 = $false
foreach ($rp in $regPaths) {
if (Test-Path $rp) {
if ($rp -match 'MC Works64') {
$isMCWorks64 = $true
$productName = 'MC Works64'
Write-Host "[*] Detected MC Works64 installation (ALL versions vulnerable, no patch available)"
break
}
$verKey = Get-ItemProperty -Path $rp -Name 'Version' -ErrorAction SilentlyContinue
if ($verKey) {
$installedVersion = $verKey.Version
$productName = 'ICONICS Suite / GENESIS64'
}
# Fallback: check DisplayVersion under Uninstall keys
if (-not $installedVersion) {
$uninstall = Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall' -ErrorAction SilentlyContinue |
Get-ItemProperty | Where-Object { $_.DisplayName -match 'GENESIS64|ICONICS Suite' }
if ($uninstall) {
$installedVersion = $uninstall.DisplayVersion
$productName = $uninstall.DisplayName
}
}
}
}
if (-not $installedVersion -and -not $isMCWorks64) {
Write-Host '[?] No GENESIS64, ICONICS Suite, or MC Works64 installation detected.'
Write-Host 'UNKNOWN'
exit 2
}
if ($isMCWorks64) {
Write-Host '[!] MC Works64 detected - ALL versions are vulnerable with NO patch available.'
Write-Host '[!] Mitsubishi Electric recommends migration to ICONICS Suite 10.98+.'
$result = 'VULNERABLE'
$exitCode = 1
} else {
Write-Host "[*] Detected: $productName version $installedVersion"
# Parse version - vulnerable if <= 10.97.3
try {
$ver = [Version]$installedVersion
$fixedVer = [Version]'10.98.0'
if ($ver -ge $fixedVer) {
Write-Host "[+] Version $installedVersion >= 10.98 (patched range)"
$result = 'PATCHED'
$exitCode = 0
} else {
Write-Host "[-] Version $installedVersion < 10.98 (vulnerable range: <= 10.97.3)"
$result = 'VULNERABLE'
$exitCode = 1
}
} catch {
Write-Host "[?] Could not parse version string: $installedVersion"
}
}
# --- Step 2: Check DCOM default Launch/Activation permissions ---
Write-Host ''
Write-Host '[*] Checking DCOM Machine Launch/Activation permissions...'
$machineLaunchReg = (Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Ole' -Name 'MachineLaunchRestriction' -ErrorAction SilentlyContinue)
if ($machineLaunchReg) {
$sd = $machineLaunchReg.MachineLaunchRestriction
Write-Host "[*] MachineLaunchRestriction SDDL present ($($sd.Length) bytes)"
Write-Host '[*] Manual review recommended: use dcomcnfg.exe > COM Security > Launch and Activation Permissions'
Write-Host '[*] Verify no overly broad grants exist for the ICONICS admin account.'
} else {
Write-Host '[!] No MachineLaunchRestriction found - using Windows defaults (potential concern).'
}
# Check if DCOM is enabled
$dcomEnabled = (Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Ole' -Name 'EnableDCOM' -ErrorAction SilentlyContinue).EnableDCOM
if ($dcomEnabled -eq 'Y') {
Write-Host '[*] DCOM is ENABLED on this host.'
} else {
Write-Host '[+] DCOM is DISABLED on this host (mitigates remote exploitation).'
if ($result -eq 'VULNERABLE') {
Write-Host '[*] Note: Version is vulnerable but DCOM disabled reduces risk.'
}
}
} catch {
Write-Host "[?] Error during check: $_"
$result = 'UNKNOWN'
$exitCode = 2
}
Write-Host ''
Write-Host "=== Result: $result ==="
exit $exitCode