Siemens has released an advisory for the SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP, highlighting vulnerabilities within the additional GNU/Linux subsystem integrated into the firmware. While the underlying vulnerabilities stem from legacy components, their presence in operational technology (OT) environments introduces a significant risk vector. For defenders, this is not just about patching; it is a reminder that the convergence of IT and OT in "Multi-Function Platform" (MFP) devices expands the attack surface. We must move beyond protecting proprietary PLC protocols and start monitoring for standard Linux-based attack vectors on the plant floor.
Technical Analysis
Affected Components:
- Product: SIMATIC S7-1500 CPU 1518-4 PN/DP MFP (6ES7518-4AX00-1AB0)
- Variant: SIPLUS extreme
- Firmware: Version V3.1.6 (and potentially others depending on Siemens' specific fix rollout).
The Risk Vector: The SIMATIC S7-1500 MFP line utilizes an integrated GNU/Linux subsystem to run advanced applications (e.g., Python, C++, Docker) directly on the PLC. The advisory identifies multiple security weaknesses in this subsystem. Unlike traditional PLCs that communicate strictly over S7Comm or PROFINET, the MFP's Linux layer potentially exposes standard network services (SSH, HTTP/S) to the control network.
Attack Scenario: An adversary who gains lateral movement into the OT network (e.g., via a compromised engineering workstation) could exploit these subsystem flaws to escape the application layer of the PLC. Successful exploitation could lead to:
- Denial of Service (DoS): Crashing the Linux subsystem, potentially halting the control logic.
- Code Execution: Executing arbitrary commands on the Linux underlying OS, potentially manipulating files or intercepting memory shared with the real-time controller.
Detection & Response
Defending ICS assets requires visibility into network protocols rarely seen on the plant floor. Since we cannot deploy endpoint agents on the PLC itself, we must monitor the network edge for interactions with the Linux subsystem of the MFP devices.
Sigma Rules
---
title: Potential Linux Subsystem Access to Siemens MFP
id: a1b2c3d4-5678-90ab-cdef-1234567890ab
status: experimental
description: Detects inbound SSH or HTTP connections to Siemens S7-1500 MFP devices, indicating access to the GNU/Linux subsystem rather than standard PLC operations.
references:
- https://www.cisa.gov/news-events/ics-advisories/icsa-26-209-04
author: Security Arsenal
date: 2026/09/15
tags:
- attack.initial_access
- attack.t1190
- ics.attck
logsource:
category: network_connection
product: windows
detection:
selection_ports:
DestinationPort:
- 22
- 80
- 443
selection_ot_scope:
DestinationIp|cidr:
- '10.0.0.0/8'
- '172.16.0.0/12'
- '192.168.0.0/16'
condition: selection_ports and selection_ot_scope
falsepositives:
- Legitimate administration by authorized engineers using SSH/Web for MFP management
level: medium
---
title: Siemens S7comm Plus Non-Standard Source
id: b2c3d4e5-6789-01ab-cdef-2345678901bc
status: experimental
description: Detects connections to Siemens PLC ports (102/TCP) from sources outside known engineering workstation ranges, probing for control access.
references:
- https://www.cisa.gov/news-events/ics-advisories/icsa-26-209-04
author: Security Arsenal
date: 2026/09/15
tags:
- attack.initial_access
- ics.attck
logsource:
category: network_connection
product: windows
detection:
selection:
DestinationPort: 102
filter_known_eng:
SourceIp|cidr:
- '192.168.10.0/24' # Example Engineering VLAN
condition: selection and not filter_known_eng
falsepositives:
- New engineering workstations not yet classified
level: high
**KQL (Microsoft Sentinel)**
Hunt for anomalous network traffic targeting the Linux subsystem features of the MFP controllers.
let OT_Ip_Ranges = dynamic(["10.20.30.0/24", "192.168.50.0/24"]); // Define your OT subnets
DeviceNetworkEvents
| where Timestamp > ago(7d)
| where DestinationPort in (22, 80, 443, 8080) // Linux Subsystem Ports
| where ipv4_is_in_range(DestinationIP, OT_Ip_Ranges)
| project Timestamp, DeviceName, InitiatingProcessAccount, SourceIP, DestinationIP, DestinationPort, RemotePort
| summarize count() by DestinationIP, SourceIP, DestinationPort
| where count_ < 10 // Filter for noise, look for low frequency scanning
**Velociraptor VQL**
Use VQL on your IT/OT DMZ jump servers to hunt for processes establishing connections to PLC IP ranges.
-- Hunt for processes connecting to OT PLC IP ranges on Linux subsystem ports
SELECT Pid, Name, CommandLine, RemoteAddress, RemotePort, StartTime
FROM listen()
WHERE RemotePort IN (22, 80, 443)
AND regex_replace(RemoteAddress, "^.*:", "") =~ "^(10|172|192)\." -- Catch private IPs connecting to PLCs
**Remediation Script (Bash)**
A script for OT Security Admins to run from a Linux-based administration server to check if the MFP Linux subsystem interfaces are reachable (and thus potentially exposed) from the admin network.
#!/bin/bash
# Siemens S7-1500 MFP Subsystem Check
# Verifies exposure of Linux services (SSH, HTTP) on target PLCs
TARGETS=("192.168.1.100" "192.168.1.101") # Replace with MFP IP addresses
TIMEOUT=2
echo "Scanning for Linux Subsystem Exposure on Siemens MFPs..."
for IP in "${TARGETS[@]}"; do
echo "Checking $IP..."
# Check SSH (Port 22)
if timeout $TIMEOUT bash -c "</dev/tcp/$IP/22" 2>/dev/null; then
echo "[ALERT] SSH Port 22 is OPEN on $IP - Linux Subsystem Exposed"
else
echo "[INFO] SSH Port 22 is closed or filtered on $IP"
fi
# Check HTTP (Port 80)
if timeout $TIMEOUT bash -c "</dev/tcp/$IP/80" 2>/dev/null; then
echo "[ALERT] HTTP Port 80 is OPEN on $IP - Linux Subsystem Exposed"
else
echo "[INFO] HTTP Port 80 is closed or filtered on $IP"
fi
done
Remediation
Immediate Actions:
- Apply Firmware Updates: Siemens is preparing fix versions for firmware V3.1.6. Monitor the Siemens ProductCERT support page and apply the update immediately upon release.
- Network Segmentation: Ensure the S7-1500 MFP devices are placed in a restricted VLAN. The Linux subsystem should not be reachable from the general corporate network. Only allow access to ports 22/80/443 from dedicated Engineering Workstations (EWS).
- Disable Unused Services: Review the configuration of the MFP. If the Linux subsystem web server or SSH access is not required for operations, disable these services via the TIA Portal or PLC configuration interface.
- Firewall Rules: Configure industrial firewalls (e.g., Tofino, Palo Alto) to explicitly drop traffic destined for TCP ports 22, 80, and 443 on PLC subnets, unless strictly necessary for data historians or HMIs.
Official Advisory: Refer to CISA Advisory ICSA-26-209-04 for the specific CVE identifiers and the latest Siemens security updates.
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.