A trusted locksmith's key is being copied and handed out at a street-corner scam booth
CVE-2026-110936 is a DLL side-loading flaw (CWE-427) in Siemens Software Center, the desktop client used to download, install, and update Siemens Digital Industries Software products (NX, Teamcenter, SIMATIC tools). All versions prior to V4.0.9.8 — including the then-current V3.5.8.7 — load helper DLLs from their own directory without validating them. An attacker who places a crafted archive.dll alongside the legitimate, digitally-signed SiemensSoftwareCenter.exe achieves arbitrary code execution under the binary's trust context. The ROMULUS ClickFix campaign, identified by Forescout's Vedere Labs on October 14, 2026, is distributing a trojanized MSI installer (AllMyBasic.msi) that bundles the genuine signed binary with a malicious archive.dll, delivering LegionLoader and RAT payloads. Huntress researcher Jose Oregon reported the flaw to Siemens. CISA added it to KEV on October 20 with a November 3 remediation deadline.
Siemens rated this CVSS 3.1 6.7 (MEDIUM) based on AV:L/PR:H — technically accurate for the isolated vulnerability: you need local access and the ability to write to the application directory. But that framing misses the operational reality. The real-world chain starts with social engineering (ClickFix fake CAPTCHAs), which hands the attacker both the binary AND the DLL in a user-writable path — completely sidestepping the high-privilege prerequisite the CVSS vector assumes. Siemens themselves scored the CVSS v4.0 at 8.4, a quiet acknowledgment that context matters. The MEDIUM label understates the risk for any enterprise in the Siemens industrial software ecosystem, where engineering workstations running this tool often sit one hop from OT/ICS networks. Active exploitation plus signed-binary abuse plus OT adjacency pushes this firmly into HIGH territory.
4 steps from start to impact.
ClickFix social engineering lure
- User visits attacker-controlled or compromised page serving ROMULUS lure
- User follows ClickFix instructions and executes PowerShell command
- Security-aware users recognize the ClickFix pattern
- Browser isolation or paste-protection policies block clipboard injection
- PowerShell execution policies (Constrained Language Mode) may block the stager
powershell.exe spawned from explorer.exe or cmd.exe with encoded/download cradle arguments. ROMULUS staging scripts are detectable by behavioral rules.Trojanized MSI installer download and execution
AllMyBasic.msi from ROMULUS infrastructure (observed IP: 96.62.218[.]59, domain: wizardexpensive[.]com). The MSI is executed via msiexec, which writes files to %LOCALAPPDATA%\Programs\SM Software Provisioning Service\. The installer contains the legitimate signed SiemensSoftwareCenter.exe plus the malicious archive.dll and marker files (activate.bak, statinfosta.DB).- Outbound HTTPS to attacker infrastructure is not blocked
- MSI execution is permitted for the user
- Network-layer IOC blocking (IP/domain) breaks the download
- Application control policies blocking unsigned MSI execution from temp paths
- Web proxy content inspection may flag the payload
msiexec.exe installing to AppData\Local\Programs paths. Network IOCs: 96.62.218[.]59, wizardexpensive[.]com. File IOCs: activate.bak, statinfosta.DB adjacent to SiemensSoftwareCenter.exe.DLL side-loading via signed Siemens binary
SiemensSoftwareCenter.exe to launch. The vulnerable binary (< V4.0.9.8) searches its own directory for archive.dll before system directories and loads it without validation. Because the EXE carries a valid Siemens digital signature, application allowlisting tools and some EDR heuristics trust the process. The malicious archive.dll (SHA-256: 3fdcc7d7d049a89711fb31fb236940a1c5a09d899143ffd20c3c41fb1f2cf491) executes in the context of the signed process.- Vulnerable Siemens Software Center binary (< V4.0.9.8) is present in the same directory as the malicious DLL
- No DLL-loading hardening (e.g., SafeDllSearchMode enforcement, CIG/ACG) blocks the load
- Code Integrity Guard (CIG) or Arbitrary Code Guard (ACG) on the process would block unsigned DLL loads
- EDR with DLL-load telemetry can flag unsigned DLLs loaded by signed processes from user-writable paths
- Windows Defender Application Control (WDAC) in enforce mode blocks the DLL
archive.dll loaded by SiemensSoftwareCenter.exe from AppData paths. Hash match on 3fdcc7d7d049a89711fb31fb236940a1c5a09d899143ffd20c3c41fb1f2cf491.Payload execution — LegionLoader / RAT deployment
96.62.218[.]59 / wizardexpensive[.]com. The FTSuite folder with ftc.uml in %LOCALAPPDATA% serves as a persistence and staging directory. On OT engineering workstations, this foothold is one pivot away from SCADA/ICS networks.- DLL successfully loaded in step 3
- Outbound C2 connectivity is available
- DNS sinkholing or firewall rules blocking known C2 infrastructure
- EDR behavioral detection of credential theft from Chrome data stores
- Network segmentation between IT and OT limits lateral movement to ICS
FTSuite\ftc.uml creation in %LOCALAPPDATA%. Chrome credential access alerts from EDR.96.62.218[.]59, 2.27.248[.]127, and wizardexpensive[.]com to firewall deny lists and DNS sinkholes. This breaks both the download chain (step 2) and C2 connectivity (step 4) for the *current* campaign. Deploy within hours given active exploitation — this is your fastest risk reduction. Per the noisgate mitigation SLA for HIGH, compensating controls must be in place within 30 days, but active KEV exploitation warrants immediate action.SiemensSoftwareCenter.exe running from %LOCALAPPDATA%\Programs (not the standard Siemens install path), the presence of activate.bak, statinfosta.DB, or FTSuite\ftc.uml in %LOCALAPPDATA%, and DLL loads of archive.dll with SHA-256 3fdcc7d7d049a89711fb31fb236940a1c5a09d899143ffd20c3c41fb1f2cf491. Run this sweep within 72 hours. This doesn't prevent future exploitation but identifies already-compromised hosts.SiemensSoftwareCenter.exe (or any Siemens-signed binary) executing from %LOCALAPPDATA%, %TEMP%, Downloads, or other user-writable paths. Legitimate Siemens Software Center installs run from %ProgramFiles%. This neutralizes the BYOB (bring-your-own-binary) sideloading vector without affecting legitimate installations. Deploy within the 30-day noisgate mitigation SLA for HIGH.- Blocking Siemens Software Center via application allowlist (blanket) — counterproductive if you have legitimate Siemens installations. The attacker uses the *genuine signed binary*, so publisher-based allowlisting actually *helps* the attacker. You need path-based restrictions, not publisher bans.
- Antivirus signature detection of SiemensSoftwareCenter.exe — the executable IS legitimate and validly signed by Siemens. AV will not flag it. Detection must target the DLL, the behavioral chain, or the host artifacts.
- Network segmentation alone — the initial compromise vector is social engineering targeting user endpoints, not lateral movement. Segmentation helps limit blast radius to OT networks but does not prevent the initial foothold.
- Disabling or uninstalling Siemens Software Center — the attack brings its own copy of the binary. Removing legitimate installations does not mitigate the BYOB sideloading vector; only path-based execution controls or patching the binary itself (so old copies become rare) addresses this.
The supporting signals.
| In-the-wild exploitation | Confirmed active. Weaponized in the ROMULUS ClickFix campaign, identified by Forescout Vedere Labs on 2026-10-14. Siemens confirmed exploitation on 2026-10-19 and updated advisory SSA-580366 on 2026-10-17. Attackers bundle the signed Siemens binary with a malicious archive.dll in trojanized MSI installers distributed via ClickFix fake-CAPTCHA lures. |
|---|---|
| CISA KEV status | Listed. Added 2026-10-20. Federal remediation deadline: 2026-11-03 (14 days). KEV catalog |
| Proof-of-concept availability | No standalone PoC published on GitHub, ExploitDB, or pocindex.io as of 2026-10-22. However, the technique is trivially reproducible: place any DLL named archive.dll alongside a pre-4.0.9.8 copy of SiemensSoftwareCenter.exe. The weaponized archive.dll sample (SHA-256: 3fdcc7d7…f491) is available in malware repositories. The barrier to reproduction is negligible. |
| EPSS score | 0.00262 (0.26%), placing this in the lower range. EPSS under-weights social-engineering-dependent chains; the KEV listing is a stronger signal here. |
| CVSS vectors | v3.1: 6.7 MEDIUM — CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H. PR:H assumes write access to the app directory, which the ClickFix chain bypasses entirely. v4.0: 8.4 HIGH (Siemens). The v4.0 score better reflects the real-world attack surface. |
| Affected versions | Siemens Software Center all versions < V4.0.9.8, including the then-current V3.5.8.7. No OS-specific conditions — any Windows host running the vulnerable binary is affected. |
| Fixed version | V4.0.9.8 (released 2026-10-15). Existing installations auto-update on next launch. Verify with SiemensSoftwareCenter.exe file version ≥ 4.0.9.8. No Linux/macOS builds exist. |
| Campaign IOCs | IPs: 96.62.218[.]59 (active C2), 2.27.248[.]127 (inactive distro). Domain: wizardexpensive[.]com. File: archive.dll SHA-256 3fdcc7d7d049a89711fb31fb236940a1c5a09d899143ffd20c3c41fb1f2cf491. Host artifacts: activate.bak, statinfosta.DB, FTSuite\ftc.uml in %LOCALAPPDATA%. |
| Reporting researcher | Jose Oregon, Huntress. Campaign infrastructure analysis by Forescout Vedere Labs (ROMULUS platform disclosure 2026-10-15). |
| Siemens advisory | SSA-580366, published 2026-10-15, updated 2026-10-17. Siemens ProductCERT |
Sources.
- SecurityWeek — Siemens Software Center ClickFix exploitation
- Siemens ProductCERT — Active exploitation notice
- Help Net Security — CVE-2026-110936 exploitation analysis
- CISA — Known Exploited Vulnerabilities Catalog
- CISA — KEV addition alert (2026-10-20)
- SecurityOnline — Siemens confirms in-the-wild exploitation
- SOC Prime — CVE-2026-110936 analysis
- Infosecurity Magazine — ClickFix DLL sideloading campaign
Why this verdict
- Active exploitation overrides theoretical friction. The ROMULUS ClickFix campaign is delivering this payload *now*, with confirmed victims. CISA KEV listing on 2026-10-20 with a 14-day deadline signals operational urgency that a MEDIUM label completely fails to communicate to patch teams.
- CVSS PR:H prerequisite is bypassed in the wild. The v3.1 vector assumes the attacker needs high-privilege write access to the application directory. In practice, the ClickFix chain writes both the binary and the DLL to a user-writable
%LOCALAPPDATA%path via MSI — no privilege escalation needed. The effective attack requires only user interaction with a social engineering lure, which CVSS doesn't model well. - Signed-binary trust abuse creates detection gaps. The legitimate Siemens digital signature means application allowlisting solutions (AppLocker with publisher rules, WDAC without path constraints) and some EDR trust heuristics will not flag the parent process. This is a living-off-the-land binary (LOLBin) scenario that elevates operational severity beyond what the DLL-sideload mechanics alone suggest.
- Role multiplier: Siemens Software Center is a desktop client, not infrastructure-tier software. Its *typical* role is an engineering workstation for Siemens Digital Industries products (NX, Teamcenter, SIMATIC). On general IT endpoints, blast radius is host-level — the attacker gets a foothold and credential theft. On OT engineering workstations (the high-value role), the same foothold is one lateral-movement step from SCADA/ICS networks, elevating blast radius to OT-network-level. However, the current ROMULUS campaign targets users broadly via ClickFix (not specifically OT engineers), and the pivot to OT requires additional steps. Siemens Software Center itself is not canonically a high-value-role component (it's not a PLC, HMI, or domain controller) — fewer than 10% of installs sit on OT-adjacent workstations. This keeps the floor at HIGH rather than CRITICAL.
- EPSS undercount acknowledged. At 0.26%, EPSS ranks this low, but EPSS systematically underweights social-engineering-dependent chains. The KEV listing and confirmed campaign activity are stronger severity signals than the probability score.
Why not higher?
This does not reach CRITICAL because the attack chain has a mandatory social-engineering prerequisite — the user must actively execute a ClickFix lure command. There is no remote, unauthenticated, or wormable path to exploitation. The vulnerability is in a desktop client application, not in infrastructure-defining software (not a hypervisor, identity provider, domain controller, or network edge appliance). While OT-adjacent deployments exist, Siemens Software Center itself is not canonically a high-value-role component, and the current campaign targets broadly rather than specifically OT environments. The blast radius at the vulnerability level is host-scoped; expanding it requires additional attacker steps.
Why not lower?
Staying at the vendor's MEDIUM (6.7) would be irresponsible given confirmed active exploitation in a named campaign (ROMULUS/ClickFix), KEV listing with a 14-day federal deadline, and the signed-binary trust bypass that creates real detection gaps. The CVSS v3.1 score mechanically underrates the chain because it cannot model the social-engineering bypass of PR:H. Siemens themselves scored v4.0 at 8.4. Leaving this at MEDIUM tells a patch team it can wait 365 days — that is flatly wrong when CISA says 14 days.
Crowdsourced verification payload.
Run on each Windows endpoint (or push via SCCM/Intune). Requires no special privileges — reads file version info only. Example: powershell -ExecutionPolicy Bypass -File .\Check-CVE2026110936.ps1
#Requires -Version 3.0
<#
Check-CVE2026110936.ps1
Detects vulnerable Siemens Software Center installations AND
indicators of ROMULUS/ClickFix compromise artifacts.
Output: VULNERABLE / PATCHED / COMPROMISED / UNKNOWN
Exit codes: 1 = VULNERABLE, 2 = COMPROMISED, 0 = PATCHED, 3 = UNKNOWN
#>
$ErrorActionPreference = 'SilentlyContinue'
$fixedVersion = [version]'4.0.9.8'
$found = $false
$vulnerable = $false
$compromised = $false
# --- Check 1: Legitimate Siemens Software Center installations ---
$searchPaths = @(
"$env:ProgramFiles\Siemens",
"${env:ProgramFiles(x86)}\Siemens",
"$env:ProgramData\Siemens"
)
foreach ($base in $searchPaths) {
if (Test-Path $base) {
$exes = Get-ChildItem -Path $base -Recurse -Filter 'SiemensSoftwareCenter.exe' -ErrorAction SilentlyContinue
foreach ($exe in $exes) {
$found = $true
$ver = [version]$exe.VersionInfo.FileVersion
if ($ver -lt $fixedVersion) {
Write-Host "[!] VULNERABLE: $($exe.FullName) — version $ver (< $fixedVersion)"
$vulnerable = $true
} else {
Write-Host "[+] PATCHED: $($exe.FullName) — version $ver"
}
}
}
}
# --- Check 2: BYOB / ROMULUS compromise indicators ---
$suspectPaths = @(
"$env:LOCALAPPDATA\Programs\SM Software Provisioning Service\SiemensSoftwareCenter.exe",
"$env:LOCALAPPDATA\Programs\SiemensSoftwareCenter.exe"
)
$artifactFiles = @(
"$env:LOCALAPPDATA\Programs\SM Software Provisioning Service\activate.bak",
"$env:LOCALAPPDATA\Programs\SM Software Provisioning Service\statinfosta.DB",
"$env:LOCALAPPDATA\Programs\SM Software Provisioning Service\archive.dll",
"$env:LOCALAPPDATA\FTSuite\ftc.uml"
)
foreach ($sp in $suspectPaths) {
if (Test-Path $sp) {
Write-Host "[!!] COMPROMISED INDICATOR: Siemens binary in user-writable path: $sp"
$compromised = $true
}
}
foreach ($af in $artifactFiles) {
if (Test-Path $af) {
Write-Host "[!!] COMPROMISED INDICATOR: ROMULUS artifact found: $af"
$compromised = $true
# Check archive.dll hash if present
if ($af -like '*archive.dll') {
$hash = (Get-FileHash -Path $af -Algorithm SHA256).Hash
if ($hash -eq '3FDCC7D7D049A89711FB31FB236940A1C5A09D899143FFD20C3C41FB1F2CF491') {
Write-Host "[!!] CONFIRMED: archive.dll matches known malicious hash"
}
}
}
}
# --- Verdict ---
if ($compromised) {
Write-Host "`nRESULT: COMPROMISED — active ROMULUS/ClickFix indicators found. Isolate host immediately."
exit 2
} elseif ($vulnerable) {
Write-Host "`nRESULT: VULNERABLE — Siemens Software Center < $fixedVersion detected."
exit 1
} elseif ($found) {
Write-Host "`nRESULT: PATCHED — all Siemens Software Center installations >= $fixedVersion."
exit 0
} else {
Write-Host "`nRESULT: UNKNOWN — Siemens Software Center not found in standard paths. Note: BYOB attacks can target any host."
exit 3
}