CISA has published ICS advisory ICSA-26-295-06 covering CVE-2026-84854, an out-of-bounds write vulnerability in the third-party WibuKey licensing component bundled with Siemens PSS®SINCAL — the widely deployed power system simulation and network planning platform used across electric utilities, transmission operators, and industrial engineering environments. Successful exploitation causes a system crash, producing a denial-of-service condition on affected engineering workstations. Siemens has assigned this a CVSS v3 base score of 7.0 (High).
The immediate good news: the vulnerability only affects PSS SINCAL installations configured to use the legacy WibuKey dongle license type. If your organization has migrated to Siemens' modern licensing mechanism, your exposure is limited. The bad news: legacy dongle-based licensing is still common in OT environments where workstations sit in isolated engineering VLANs and license migration projects stall indefinitely. Any environment running WibuKey-licensed SINCAL instances should treat this as an actionable availability risk and apply the mitigations below while Siemens finalizes patches.
Technical Analysis
Affected Products and Versions
Per the advisory, the following Siemens PSS®SINCAL versions are affected by CVE-2026-84854:
| Product | Affected Versions |
|---|---|
| PSS®SINCAL V21.5 | All versions |
| PSS®SINCAL V22.0 | All versions |
| PSS®SINCAL V22.5 | Versions prior to 22.5.5 |
Root Cause and Exploitation Mechanics
CVE-2026-84854 is an out-of-bounds write (CWE-787) in the WibuKey third-party licensing component. Out-of-bounds write flaws occur when software writes data past the boundary of an allocated memory buffer, corrupting adjacent memory. In this case, the vulnerable code path lives in the WibuKey licensing stack that SINCAL loads when configured for dongle-based licensing.
From a defender's perspective, the exploitation requirements matter:
- License configuration dependency: The vulnerable WibuKey code path is only exercised when SINCAL is configured to use the legacy WibuKey dongle license type. Installations using current Siemens licensing are not in the vulnerable configuration.
- Impact is availability-only: The confirmed impact is a system crash resulting in denial of service. There is no indication in the advisory of code execution or data disclosure, but OOB write primitives in memory-unsafe components should always be treated with respect — crash-only PoCs frequently evolve.
- Attack surface: WibuKey licensing components typically include a kernel driver (
WibuKey64.sys/WibuKey32.sys) and a network license service (WkSrv.exe, historically listening on UDP port 22347) for dongle sharing across a network. Network-facing license services are the primary remote attack surface; local attack surface exists wherever crafted input reaches the driver.
Exploitation Status
As of publication of ICSA-26-295-06, there is no confirmed in-the-wild exploitation, no public proof-of-concept, and the CVE has not been added to the CISA Known Exploited Vulnerabilities (KEV) catalog. This is currently a vendor-disclosed vulnerability with patches in preparation. That window — before public PoCs circulate — is exactly when you want detection and mitigation in place.
Why This Matters in OT Environments
PSS SINCAL workstations are used for load-flow analysis, short-circuit calculations, and protection coordination planning for transmission and distribution networks. A crash condition on these systems during active engineering work — especially during outage planning or incident reconstruction — translates directly into operational delay. OT engineering workstations also tend to run older OS builds with fewer endpoint controls, making both exploitation and detection gaps more likely.
Detection & Response
The highest-fidelity detection opportunities for this threat are: (1) crashes of the SINCAL process or WibuKey components, (2) unexpected network traffic targeting the WibuKey license service port, and (3) anomalous child processes or driver interactions involving WibuKey binaries. All rules below are tuned to minimize noise — they scope narrowly to SINCAL and WibuKey artifacts.
---
title: Siemens PSS SINCAL or WibuKey Component Crash
description: Detects unexpected termination or crash behavior of PSS SINCAL or WibuKey licensing components, consistent with exploitation of CVE-2026-84854 (out-of-bounds write causing DoS).
references:
- https://www.cisa.gov/news-events/ics-advisories/icsa-26-295-06
author: Security Arsenal
date: 2026/04/06
id: 3b7f2a91-4c8e-4d1a-9f55-2e6c8a0b1234
status: experimental
tags:
- attack.impact
- attack.t1499
logsource:
category: process_creation
product: windows
detection:
selection_wer:
Image|endswith:
- '\WerFault.exe'
CommandLine|contains:
- 'sincal'
- 'WkSrv'
- 'WibuKey'
condition: selection_wer
falsepositives:
- Legitimate application instability unrelated to exploitation
level: medium
---
title: Suspicious Network Connection to WibuKey License Service Port
description: Detects inbound or outbound network connections to the WibuKey network license service port (UDP/TCP 22347) from processes other than the legitimate WibuKey server or SINCAL, indicating potential probing or exploitation attempts against CVE-2026-84854.
references:
- https://www.cisa.gov/news-events/ics-advisories/icsa-26-295-06
author: Security Arsenal
date: 2026/04/06
id: 8d1e4c72-6a3b-4f90-bc27-9d5e1f8a2345
status: experimental
tags:
- attack.discovery
- attack.t1046
logsource:
category: network_connection
product: windows
detection:
selection_port:
DestinationPort: 22347
filter_legit:
Image|endswith:
- '\WkSrv.exe'
- '\sincal.exe'
- '\WkLan.exe'
condition: selection_port and not filter_legit
falsepositives:
- Custom WibuKey client tools; inventory legitimate license clients before enabling at high level
level: high
---
title: WibuKey Driver or Service Binary Executed from Non-Standard Path
description: Detects execution of WibuKey licensing binaries from paths outside their standard installation directories, which may indicate tampering or staging of crafted input targeting CVE-2026-84854.
references:
- https://www.cisa.gov/news-events/ics-advisories/icsa-26-295-06
author: Security Arsenal
date: 2026/04/06
id: 5f2a9d14-7b6c-4e81-a3d9-1c4b7e5f3456
status: experimental
tags:
- attack.execution
- attack.t1059
logsource:
category: process_creation
product: windows
detection:
selection_name:
Image|endswith:
- '\WkSrv.exe'
- '\WkLan.exe'
- '\WibuKey.exe'
filter_standard:
Image|contains:
- '\WibuKey\'
- '\Wibu-Key\'
- '\Program Files\'
- '\Program Files (x86)\'
condition: selection_name and not filter_standard
falsepositives:
- Portable license utilities deployed by administrators
level: medium
// Hunt for crash events and anomalous process activity involving PSS SINCAL or WibuKey components
// Scope: engineering workstations in OT/engineering VLANs. Correlate with asset inventory of SINCAL hosts.
let SincalHosts = DeviceProcessEvents
| where FileName has_any ("sincal.exe", "WkSrv.exe", "WkLan.exe")
| summarize by DeviceName;
DeviceProcessEvents
| where DeviceName in (SincalHosts)
| where FileName =~ "WerFault.exe"
or ProcessCommandLine has_any ("sincal", "WibuKey", "WkSrv")
| project TimeGenerated, DeviceName, FileName, ProcessCommandLine, InitiatingProcessFileName, InitiatingProcessCommandLine, AccountName
| order by TimeGenerated desc;
// Hunt for unexpected network connections to the WibuKey license port (22347)
DeviceNetworkEvents
| where RemotePort == 22347 or LocalPort == 22347
| where InitiatingProcessFileName !in~ ("WkSrv.exe", "sincal.exe", "WkLan.exe")
| project TimeGenerated, DeviceName, InitiatingProcessFileName, InitiatingProcessCommandLine, RemoteIP, RemotePort, ActionType
| order by TimeGenerated desc;
// Syslog/CEF path for network devices monitoring engineering VLANs
CommonSecurityLog
| where DestinationPort == 22347
| summarize ConnectionCount = count(), UniqueSources = dcount(SourceIP) by DestinationIP, DestinationPort, bin(TimeGenerated, 1h)
| where UniqueSources > 3 // multiple sources hitting one license host = possible scanning/exploit attempts
| order by ConnectionCount desc;
-- Hunt artifact: enumerate SINCAL/WibuKey processes, their network bindings,
-- and check whether the legacy WibuKey driver is present on engineering hosts.
-- Deploy against the endpoint group containing OT engineering workstations.
LET processes = SELECT Pid, Name, CommandLine, Exe, Username, CreateTime
FROM pslist()
WHERE Name =~ '(?i)sincal|wksrv|wklan|wibukey'
OR CommandLine =~ '(?i)sincal|wibukey'
LET license_net = SELECT Pid, Name, LocalAddress, LocalPort, RemoteAddress, RemotePort, Status
FROM netstat()
WHERE LocalPort = 22347 OR RemotePort = 22347
LET wibukey_driver = SELECT FullPath, Size, Mtime
FROM glob(globs='C:/Windows/System32/drivers/WibuKey*.sys')
SELECT * FROM processes
UNION ALL
SELECT Pid, Name, LocalAddress AS CommandLine, RemoteAddress AS Exe, RemotePort AS Username, Status AS CreateTime FROM license_net
The following PowerShell script inventories SINCAL installations, determines whether the vulnerable WibuKey legacy licensing stack is present, and applies a defensive firewall rule restricting the WibuKey license port to known license-server hosts. Run elevated on engineering workstations or via your RMM/SCCM pipeline:
# CVE-2026-84854 - Siemens PSS SINCAL WibuKey exposure check and mitigation
# Run as Administrator. Test in a lab before fleet deployment.
$report = [ordered]@{}
# --- 1. Detect installed SINCAL versions ---
$sincal = Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*",
"HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*" -ErrorAction SilentlyContinue |
Where-Object { $_.DisplayName -match "SINCAL" } |
Select-Object DisplayName, DisplayVersion, InstallLocation
$report['SincalInstalls'] = $sincal
# Flag affected versions: V21.5 (all), V22.0 (all), V22.5 < 22.5.5
$affected = $sincal | Where-Object {
$_.DisplayVersion -match '^21\.5' -or
$_.DisplayVersion -match '^22\.0' -or
($_.DisplayVersion -match '^22\.5' -and [version]($_.DisplayVersion -replace '[^0-9.]','') -lt [version]'22.5.5')
}
$report['AffectedInstalls'] = $affected
# --- 2. Detect legacy WibuKey licensing stack ---
$wibuDriver = Get-ChildItem "$env:SystemRoot\System32\drivers\WibuKey*.sys" -ErrorAction SilentlyContinue
$wibuService = Get-Service -Name "*WibuKey*","*WkSrv*" -ErrorAction SilentlyContinue
$report['WibuKeyDriverPresent'] = [bool]$wibuDriver
$report['WibuKeyService'] = $wibuService | Select-Object Name, Status, StartType
if ($wibuDriver -or $wibuService) {
Write-Warning "Legacy WibuKey licensing stack detected - host is in the vulnerable configuration if SINCAL uses dongle licensing."
}
# --- 3. Check WibuKey network service exposure (UDP/TCP 22347) ---
$listeners = Get-NetUDPEndpoint -LocalPort 22347 -ErrorAction SilentlyContinue
$report['LicensePortListeners'] = $listeners
# --- 4. Apply restrictive firewall rule (only allow known license server) ---
# Replace with your actual WibuKey license server IP. If licensing is local dongle-only,
# block inbound 22347 entirely.
$licenseServer = "10.10.50.25" # <-- CHANGE ME
Get-NetFirewallRule -DisplayName "SINCAL-WibuKey-Restrict-22347" -ErrorAction SilentlyContinue |
Remove-NetFirewallRule -Confirm:$false
New-NetFirewallRule -DisplayName "SINCAL-WibuKey-Restrict-22347" `
-Direction Inbound -Protocol UDP -LocalPort 22347 `
-RemoteAddress $licenseServer -Action Allow -Profile Any | Out-Null
New-NetFirewallRule -DisplayName "SINCAL-WibuKey-Block-22347-Default" `
-Direction Inbound -Protocol UDP -LocalPort 22347 -Action Block -Profile Any | Out-Null
# --- 5. Output findings ---
$report | ConvertTo-Json -Depth 4
Write-Host "`nRemediation guidance: migrate SINCAL to current Siemens licensing and upgrade V22.5 to >= 22.5.5 when Siemens releases the update. Track ICSA-26-295-06." -ForegroundColor Cyan
Remediation
-
Inventory and scope first. Identify every PSS SINCAL installation and determine the license type in use. Only instances configured for the legacy WibuKey dongle license type are affected — this is your fastest risk-reduction lever. Pull the list of V21.5, V22.0, and pre-22.5.5 V22.5 installs and cross-reference against license configuration.
-
Upgrade V22.5 to 22.5.5 or later. Version 22.5.5 is the fixed boundary for the V22.5 branch per the advisory's affected-version notation. V21.5 and V22.0 have no fixed version listed — all versions are affected, so plan migration off these branches or apply configuration mitigations until Siemens releases updates. Monitor the Siemens ProductCERT advisory linked from ICSA-26-295-06 for patch availability.
-
Migrate off legacy WibuKey dongle licensing. Where operationally feasible, transition affected installations to Siemens' current licensing mechanism. This removes the vulnerable code path entirely rather than merely constraining its exposure — the correct fix for a deprecated third-party component.
-
Segment and restrict the license service. Block inbound UDP/TCP 22347 from anything other than the designated license server (see the firewall script above). Engineering workstations should never accept arbitrary inbound connections on license ports from general user VLANs, and absolutely not from outside the OT zone. Enforce this at both host firewall and network ACL layers per IEC 62443 zone-and-conduit principles.
-
Harden engineering workstations. Ensure these hosts run a supported OS build with EDR coverage and Windows Error Reporting crash telemetry forwarded to your SIEM so the detection rules above have data to work with. OT workstations are frequently excluded from standard endpoint tooling — close that gap for SINCAL hosts specifically.
-
Monitor for exploitation evolution. There is no KEV entry or public PoC today. Set a standing watch on the CVE (CVE-2026-84854) and the Siemens ProductCERT feed; if a PoC drops, out-of-bounds write primitives in memory-unsafe drivers tend to attract code-execution research quickly. Re-prioritize patching accordingly.
-
Follow CISA's standard ICS guidance as reiterated in the advisory: minimize network exposure for control system devices, isolate them from the internet, place them behind firewalls, and use hardened remote access (VPN with MFA) where remote connectivity is unavoidable.
Related Resources
Security Arsenal Penetration Testing Services AlertMonitor Platform Book a SOC Assessment vulnerability-management Intel Hub
Is your security operations ready?
Get a free SOC assessment or see how AlertMonitor cuts through alert noise with automated triage.