Executive Summary
CVE-2026-41551 is a path traversal flaw in the ROS# file_server service that permits an attacker to read and write arbitrary files with the privileges of the account running the service, on any host exposing that service before version 2.2.2. Where ROS# bridges robotic middleware to Windows-based engineering and HMI systems, this becomes a direct path to configuration tampering, credential theft, and code execution on machines that control physical robotic and automation assets.
Technical Exposure Breakdown
ROS# is the .NET library set that connects Robot Operating System (ROS) nodes to Windows applications, Unity-based visualization, and engineering tooling. The affected component is the ROS service file_server, which handles file transfer requests between the ROS graph and the host filesystem. Before version 2.2.2, that service fails to sanitize supplied paths, so a request containing directory traversal sequences such as ../../ resolves outside the intended working directory.
The consequence is bidirectional. An attacker can read arbitrary files, meaning configuration data, private keys, launch files, and stored credentials are exposed. The attacker can also write arbitrary files, meaning launch scripts, DLLs on the search path, or startup entries can be overwritten to gain persistence or execution. Both operations inherit the rights of the service account. If that account runs with administrative or SYSTEM-equivalent privileges, which is common in poorly segmented lab-to-production deployments, the flaw becomes full host compromise.
The CVSS 9.1 score reflects network reachability with no privilege requirement and no user interaction. The vulnerable versions are all ROS# builds below 2.2.2 under the vers:intdot/<2.2.2 constraint. This vulnerability is not currently in the known exploited vulnerability catalog, but the exploitation pattern for path traversal is trivial and well understood, so absence from the catalog should not be read as low urgency.
OT Impact and Compliance Risk
ROS# is deployed at the boundary between robotic control middleware and operator-facing tooling. That boundary is exactly where an IT-style assumption of a benign local network breaks down. In manufacturing cells, automated material handling, and robotic process lines, the host running file_server often has a supervisory relationship to safety and motion logic. Arbitrary write access lets an attacker alter launch parameters, motion profiles, or the binaries the host loads at startup. The physical outcome ranges from unplanned line stoppage to uncommanded robot movement, which is a personnel safety exposure, not only an availability event.
For IEC 62443 environments, this defeats the zone and conduit model if the ROS service is reachable across a conduit that should have been restricted to authenticated, defined flows. Under SR 2.1 and SR 5.1, unrestricted file access across a zone boundary is a direct control gap. Sites operating under NERC CIP should treat any BES-adjacent host running this service as an in-scope Cyber Asset requiring CIP-007 patch management evaluation and CIP-005 electronic access point review. Water and wastewater operators with robotic or automated handling under AWIA 2018 risk assessment obligations should log this as a documented finding.
Compensating Controls
The vendor fix is version 2.2.2, but ROS# hosts frequently sit in cells where update windows are governed by production schedules, so plan for interim mitigation.
- Do not attempt active vulnerability scanning against live robotic cells. Aggressive probing of ROS endpoints can trigger unexpected node behavior and disrupt motion controllers. Use passive traffic inspection and asset inventory data instead.
- Restrict access to the
file_serverport at the switch or host firewall so only explicitly defined engineering workstations can reach it. Default deny everything else. - Run the ROS service under a least-privilege account with no administrative rights and no write access outside its required working directory. This limits the blast radius of both read and write primitives.
- Deploy a virtual patch at the conduit. A Suricata rule concept: inspect file transfer request payloads to the ROS service port for traversal sequences, alerting or dropping on
../and encoded variants such as%2e%2e%2fin the file path field. Tune to the observed protocol framing before enforcing drop mode in production. - Enable file integrity monitoring on the ROS# working directory and adjacent binary search paths to detect unauthorized writes.
BreachSpider Intel
Track exploitation activity and mitigation status for CVE-2026-41551 across your Siemens ROS# footprint with continuous monitoring from BreachSpider.