CISA published ICS advisory ICSA-26-265-07 covering a path traversal vulnerability — CVE-2026-67367 — affecting Siemens SIMOVE Fleetmanager (versions prior to 3.1.13, 3.2.4, 3.3.2, and 4.0.1 across the 3.x and 4.0 branches) and SIPLANT (all versions of V1.7, V2.2, V3.0, and V3.1 prior to 3.1.4). Siemens has released fixed versions and recommends immediate updates.
This matters because SIMOVE Fleetmanager and SIPLANT are not office productivity software. They sit in the industrial operations layer — SIMOVE Fleetmanager coordinates automated guided vehicle (AGV) and mobile robot fleets on plant floors, and SIPLANT is used for logistics and material flow planning in manufacturing environments. A path traversal vulnerability in software at this tier is a direct line into the OT environment: an attacker who can read arbitrary files on the fleet management server can harvest credentials, configuration data, network topology details, and database connection strings — everything needed to pivot from the IT network into production systems. If your SIMOVE or SIPLANT instance is reachable from a business network (and in most deployments we assess, it is), treat this as an actionable exposure today.
Technical Analysis
Affected Products and Versions
Per the Siemens advisory (via CISA ICSA-26-265-07):
- SIMOVE Fleetmanager V3.1 — all versions < 3.1.13 (CVE-2026-67367)
- SIMOVE Fleetmanager V3.2 — all versions < 3.2.4 (CVE-2026-67367)
- SIMOVE Fleetmanager V3.3 — all versions < 3.3.2 (CVE-2026-67367)
- SIMOVE Fleetmanager V4.0 — all versions < 4.0.1 (CVE-2026-67367)
- SIPLANT V1.7 — all versions (CVE-2026-67367)
- SIPLANT V2.2 — all versions (CVE-2026-67367)
- SIPLANT V3.0 — all versions (CVE-2026-67367)
- SIPLANT V3.1 — all versions < 3.1.4 (CVE-2026-67367)
Vulnerability Mechanics
CVE-2026-67367 is a path traversal (CWE-22, "Improper Limitation of a Pathname to a Restricted Directory") vulnerability. In practical terms, the affected application accepts a user-supplied file path parameter — typical patterns in web-based management interfaces include file download endpoints, log viewers, template loaders, or resource handlers — and fails to adequately canonicalize or constrain that input to an intended directory scope.
An attacker submits a request containing traversal sequences such as ../..\..\ (Windows) or ../../../../ (Unix-style), escaping the intended web root or application directory and reading arbitrary files the service account can access. Because SIMOVE Fleetmanager and SIPLANT are predominantly deployed on Windows Server in OT environments, defenders should assume exploitation targets Windows paths — ..\..\windows\system32\config\sam is unlikely to succeed against a service running under a restricted account, but application configuration files, database connection strings, stored credentials, license files, and logs absolutely are reachable.
The attack chain from a defender's perspective:
- Reconnaissance — attacker identifies an exposed SIMOVE/SIPLANT web interface (frequently reachable from engineering workstations or the plant DMZ).
- Traversal request — crafted HTTP request with encoded or double-encoded traversal sequences (
%2e%2e%2f,%252e%252e%252f,..\..\) hits a file-handling endpoint. - File disclosure — sensitive files are returned in the HTTP response: application configs, credential stores, database credentials, internal documentation.
- Post-exploitation — harvested credentials enable lateral movement into adjacent OT systems, or direct manipulation of fleet operations (an AGV fleet management console is a physical-consequence target — misrouted or halted vehicles mean production stoppage).
Exploitation Requirements and Status
At the time of publication, CISA has not added CVE-2026-67367 to the Known Exploited Vulnerabilities (KEV) catalog, and there is no confirmed in-the-wild exploitation or public proof-of-concept. However, path traversal vulnerabilities in industrial management software are low-complexity, high-yield targets — they require no authentication in many historical cases, no exotic tooling, and the exploitation technique is documented in every web security curriculum. The window between advisory publication and automated scanning is typically measured in days for ICS products. Do not let "no known exploitation" become "we'll patch next quarter."
Detection & Response
The observable artifacts of path traversal exploitation are well understood: traversal sequences in web request URIs, the application service process reading files outside its expected directory scope, and follow-on process or network activity from the compromised host. The detections below target those behaviors. Tune the process and path names to your actual installation directories — SIMOVE/SIPLANT services run under vendor-specific service names and install paths that vary by version and deployment.
SIGMA Rules
---
title: Path Traversal Attempt in Web Request Against ICS Management Interface
id: 8f3c1a72-4d6e-4b91-a2c5-9e7f0d3b8a61
status: experimental
description: Detects URL-encoded and raw path traversal sequences in web request URIs targeting industrial management applications such as Siemens SIMOVE Fleetmanager and SIPLANT, associated with CVE-2026-67367 exploitation.
references:
- https://www.cisa.gov/news-events/ics-advisories/icsa-26-265-07
- https://attack.mitre.org/techniques/T1190/
author: Security Arsenal
date: 2026/01/15
tags:
- attack.initial_access
- attack.t1190
logsource:
category: webserver
detection:
selection_traversal:
cs-uri|contains:
- '../'
- '..\\'
- '%2e%2e%2f'
- '%2e%2e/'
- '..%2f'
- '%2e%2e%5c'
- '%252e%252e'
- '..;'
- '..%00'
selection_sensitive_target:
cs-uri|contains:
- 'windows'
- 'win.ini'
- 'system32'
- 'boot.ini'
- '/etc/passwd'
- 'web.config'
- 'applicationhost.config'
condition: selection_traversal
falsepositives:
- Legitimate application functionality using relative paths (review and whitelist specific endpoints)
- Vulnerability scanners — validate source IP against approved scan ranges
level: high
---
title: ICS Management Service Reading Files Outside Application Directory
id: 2b7e9f41-c3a8-4d52-b6e1-7a4c0f2d9e83
status: experimental
description: Detects the SIMOVE Fleetmanager or SIPLANT service processes accessing sensitive Windows files outside their intended scope, indicative of successful path traversal exploitation (CVE-2026-67367).
references:
- https://www.cisa.gov/news-events/ics-advisories/icsa-26-265-07
- https://attack.mitre.org/techniques/T1003/
author: Security Arsenal
date: 2026/01/15
tags:
- attack.credential_access
- attack.t1003
- attack.collection
logsource:
category: file_event
product: windows
detection:
selection_process:
Image|contains:
- 'SIMOVE'
- 'SIPLANT'
- 'Fleetmanager'
selection_target:
TargetFilename|contains:
- '\\Windows\\System32\\config\\'
- '\\Windows\\win.ini'
- '\\Windows\\repair\\'
- '\\inetpub\\'
- '.ssh'
- '\\Users\\'
filter_known:
TargetFilename|contains:
- '\\Users\\Public\\'
condition: selection_process and selection_target and not filter_known
falsepositives:
- Legitimate configuration reads during service startup — baseline during maintenance windows
level: critical
---
title: Suspicious Child Process Spawned by SIMOVE or SIPLANT Service
id: 6d1a4c98-7e2f-4b35-a9d2-3c8b1e6f5a47
status: experimental
description: Detects command shells, scripting engines, or download utilities spawned as child processes of Siemens SIMOVE Fleetmanager or SIPLANT application services, indicating post-exploitation activity following web interface compromise.
references:
- https://www.cisa.gov/news-events/ics-advisories/icsa-26-265-07
- https://attack.mitre.org/techniques/T1059/
author: Security Arsenal
date: 2026/01/15
tags:
- attack.execution
- attack.t1059
logsource:
category: process_creation
product: windows
detection:
selection_parent:
ParentImage|contains:
- 'SIMOVE'
- 'SIPLANT'
- 'Fleetmanager'
selection_child:
Image|endswith:
- '\\cmd.exe'
- '\\powershell.exe'
- '\\pwsh.exe'
- '\\wscript.exe'
- '\\cscript.exe'
- '\\mshta.exe'
- '\\certutil.exe'
- '\\bitsadmin.exe'
- '\\whoami.exe'
- '\\net.exe'
- '\\nltest.exe'
condition: selection_parent and selection_child
falsepositives:
- Vendor maintenance scripts during patching — verify against change management records
level: critical
KQL (Microsoft Sentinel / Defender)
This query hunts traversal patterns in web server logs ingested via Syslog/CEF, plus file and process telemetry from Defender for Endpoint on the SIMOVE/SIPLANT host. Run it across a 14-day lookback to establish whether probing began before the advisory dropped.
let TraversalPatterns = dynamic(["../", "..\\", "%2e%2e", "..%2f", "%252e%252e", "..;", "..%00"]);
let SensitiveTargets = dynamic(["system32", "win.ini", "boot.ini", "web.config", "etc/passwd", "applicationhost"]);
union isfuzzy=true
(CommonSecurityLog
| where TimeGenerated > ago(14d)
| where RequestURL has_any (TraversalPatterns)
| extend Target = tolower(RequestURL)
| extend HitsSensitive = Target has_any (SensitiveTargets)
| project TimeGenerated, SourceIP, DestinationIP, DestinationHostName, RequestMethod, RequestURL, HitsSensitive, DeviceVendor),
(Syslog
| where TimeGenerated > ago(14d)
| where SyslogMessage has_any (TraversalPatterns)
| where SyslogMessage has_any (dynamic(["SIMOVE", "SIPLANT", "Fleetmanager"])) or SyslogMessage has_any (SensitiveTargets)
| project TimeGenerated, HostIP, Computer, SyslogMessage),
(DeviceFileEvents
| where TimeGenerated > ago(14d)
| where InitiatingProcessFolderPath has_any (dynamic(["SIMOVE", "SIPLANT", "Fleetmanager"]))
| where FolderPath has_any (dynamic(["\\windows\\system32\\config", "\\windows\\win.ini", "\\users\\", "\\.ssh"]))
| project TimeGenerated, DeviceName, InitiatingProcessFileName, InitiatingProcessCommandLine, FolderPath, FileName),
(DeviceProcessEvents
| where TimeGenerated > ago(14d)
| where InitiatingProcessFolderPath has_any (dynamic(["SIMOVE", "SIPLANT", "Fleetmanager"]))
| where FileName in~ ("cmd.exe", "powershell.exe", "pwsh.exe", "certutil.exe", "whoami.exe", "net.exe", "nltest.exe", "bitsadmin.exe", "mshta.exe")
| project TimeGenerated, DeviceName, InitiatingProcessFileName, FileName, ProcessCommandLine, AccountName)
Velociraptor VQL
Use this artifact on the SIMOVE/SIPLANT host to identify the application service, enumerate its outbound network connections (unexpected external destinations from an OT fleet server are a strong compromise indicator), and check for recently created files in web-accessible and temp directories that could indicate webshell staging after traversal-based access.
-- Hunt SIMOVE/SIPLANT service processes, their network connections, and recently dropped files
LET procs = SELECT Pid, Name, CommandLine, Exe, Username
FROM pslist()
WHERE Exe =~ '(?i)simove|siplant|fleetmanager'
LET conns = SELECT Pid, Name, LocalAddr, LocalPort, RemoteAddr, RemotePort, State
FROM netstat()
WHERE RemoteAddr !~ '^(10\\.|172\\.(1[6-9]|2[0-9]|3[01])\\.|192\\.168\\.|127\\.)'
AND State =~ 'ESTABLISHED'
LET drops = SELECT FullPath, Size, Mtime, Ctime
FROM glob(globs=['C:/Program Files*/SIMOVE/**/*.aspx', 'C:/Program Files*/SIPLANT/**/*.aspx', 'C:/inetpub/**/*.aspx', 'C:/Windows/Temp/*.exe', 'C:/Windows/Temp/*.dll', 'C:/ProgramData/**/*.ps1'])
WHERE Mtime > now() - 1209600
SELECT * FROM procs
UNION ALL
SELECT Pid, Name, format(format='%v:%v', args=[LocalAddr, LocalPort]) AS CommandLine, format(format='%v:%v', args=[RemoteAddr, RemotePort]) AS Exe, State AS Username FROM conns
Remediation / Verification Script
Run the following PowerShell on the SIMOVE Fleetmanager or SIPLANT host to inventory installed versions, identify the running services, and check IIS/web logs for historical traversal attempts. It does not patch — patching requires the vendor installer — but it gives you a definitive exposure picture in one pass.
# CVE-2026-67367 Exposure Assessment - SIMOVE Fleetmanager / SIPLANT
# Run as Administrator on the application host
Write-Host "=== [1] Installed Siemens Product Versions ===" -ForegroundColor Cyan
Get-ItemProperty HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*, `
HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* `
-ErrorAction SilentlyContinue |
Where-Object { $_.DisplayName -match 'SIMOVE|SIPLANT' } |
Select-Object DisplayName, DisplayVersion, InstallLocation, Publisher |
Format-Table -AutoSize
Write-Host "=== [2] Running SIMOVE/SIPLANT Services ===" -ForegroundColor Cyan
Get-CimInstance Win32_Service |
Where-Object { $_.Name -match 'SIMOVE|SIPLANT' -or $_.PathName -match 'SIMOVE|SIPLANT' } |
Select-Object Name, State, StartName, PathName |
Format-List
Write-Host "=== [3] Vulnerable Version Check ===" -ForegroundColor Cyan
$installed = Get-ItemProperty HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*, `
HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* `
-ErrorAction SilentlyContinue | Where-Object { $_.DisplayName -match 'SIMOVE|SIPLANT' }
foreach ($app in $installed) {
$v = [version]($app.DisplayVersion -replace '[^0-9.]', '')
$fixed = switch -Regex ($app.DisplayName) {
'SIMOVE.*3\.1' { '3.1.13' } 'SIMOVE.*3\.2' { '3.2.4' }
'SIMOVE.*3\.3' { '3.3.2' } 'SIMOVE.*4\.0' { '4.0.1' }
'SIPLANT.*3\.1' { '3.1.4' } default { $null }
}
if ($null -eq $fixed) {
Write-Host "[VULNERABLE - NO FIX] $($app.DisplayName) $($app.DisplayVersion) (SIPLANT V1.7/V2.2/V3.0: all versions affected)" -ForegroundColor Red
} elseif ($v -lt [version]$fixed) {
Write-Host "[VULNERABLE] $($app.DisplayName) $($app.DisplayVersion) < $fixed" -ForegroundColor Red
} else {
Write-Host "[PATCHED] $($app.DisplayName) $($app.DisplayVersion)" -ForegroundColor Green
}
}
Write-Host "=== [4] Historical Traversal Attempts in Web Logs (last 14 days) ===" -ForegroundColor Cyan
$logPaths = @("C:\inetpub\logs\LogFiles", "C:\SIMOVE\logs", "C:\Program Files\Siemens\SIMOVE*\logs")
$cutoff = (Get-Date).AddDays(-14)
foreach ($p in $logPaths) {
Get-ChildItem $p -Recurse -Filter *.log -ErrorAction SilentlyContinue |
Where-Object { $_.LastWriteTime -gt $cutoff } |
Select-String -Pattern '(\.\./)|(\.\.\\)|(%2e%2e)|(\.\.%2f)|(%252e)' -AllMatches |
Select-Object Path, LineNumber, @{N='Snippet';E={$_.Line.Substring(0, [Math]::Min(200, $_.Line.Length))}} |
Format-List
}
Write-Host "=== [5] Unexpected External Connections from Host ===" -ForegroundColor Cyan
Get-NetTCPConnection -State Established -ErrorAction SilentlyContinue |
Where-Object { $_.RemoteAddress -notmatch '^(10\.|172\.(1[6-9]|2[0-9]|3[01])\.|192\.168\.|127\.|::1|fe80)' -and $_.RemoteAddress -ne '0.0.0.0' } |
ForEach-Object {
$proc = Get-Process -Id $_.OwningProcess -ErrorAction SilentlyContinue
[PSCustomObject]@{ Process=$proc.ProcessName; PID=$_.OwningProcess; Remote=$_.RemoteAddress; Port=$_.RemotePort }
} | Sort-Object Process -Unique | Format-Table -AutoSize
Remediation
1. Patch immediately. Siemens has released fixed versions. Upgrade to at minimum:
- SIMOVE Fleetmanager 3.1.13, 3.2.4, 3.3.2, or 4.0.1 (matching your major branch)
- SIPLANT 3.1.4 or later
2. SIPLANT V1.7, V2.2, and V3.0 have no fixed release in this advisory — "all versions" are affected. For these deployments, the remediation path is migration to a supported, patched branch (3.1.4+). Until migration completes, treat these instances as permanently exposed and apply the compensating controls below with full rigor.
3. Compensating controls (mandatory for unpatchable SIPLANT versions, recommended everywhere):
- Network segmentation: Restrict access to the SIMOVE/SIPLANT web interface to an allowlist of engineering workstation IPs and the plant DMZ jump host. These interfaces should never be reachable from the general corporate VLAN, and absolutely never from the internet. Verify with a port scan from each network zone.
- Reverse proxy / WAF: If the interface must be fronted by a proxy, deploy rules blocking requests containing traversal sequences (
../,%2e%2e, double-encoded variants) before they reach the application. - Service account least privilege: Confirm the application services run under a dedicated low-privilege account with no read access to credential stores, other users' profiles, or adjacent application directories.
- Egress filtering: The fleet management server has no legitimate reason to initiate outbound internet connections. Block and alert on any egress beyond Siemens update infrastructure and internal NTP/DNS.
4. Threat hunt before you patch. Pull the last 30–90 days of web access logs and run the KQL query and PowerShell log-check above. Path traversal leaves loud log artifacts; if you were probed or exploited pre-patch, patching alone does not evict an attacker who already harvested credentials. Any confirmed traversal hit with a 200-series response warrants a credential rotation for every account and connection string stored on that host, and an IR scoping review.
5. Validate the patch. After upgrading, re-run the version check in the script above and confirm the application reports the fixed build. Schedule a verification scan from your vulnerability management platform against the host within 48 hours of patching.
References:
- CISA ICS Advisory: https://www.cisa.gov/news-events/ics-advisories/icsa-26-265-07
- Siemens ProductCERT advisory (linked via the CSAF document in the CISA advisory)
Fleet management and logistics planning systems are the connective tissue between IT and physical operations on the plant floor. A file-read bug in that layer is a foothold, and footholds in OT-adjacent systems are how ransomware crews and state actors get to the systems that move product. Patch, segment, and hunt — in that order, this week.
Related Resources
Security Arsenal Managed SOC Services AlertMonitor Platform Book a SOC Assessment soc-mdr Intel Hub
Is your security operations ready?
Get a free SOC assessment or see how AlertMonitor cuts through alert noise with automated triage.