CVE-2025-41110 Overview
CVE-2025-41110 affects the Ghost Robotics Vision 60 quadruped robot running firmware version 0.27.2. The vulnerability stems from encrypted WiFi and SSH credentials embedded in the companion Android APK. An attacker who extracts these credentials can join the robot's WiFi network and access its Robot Operating System 2 (ROS 2) stack, which runs without default authentication. The same credentials enable SSH access, granting full control over the platform. This exposure maps to [CWE-287] Improper Authentication and [CWE-306] Missing Authentication for a Critical Function.
Critical Impact
An attacker within physical WiFi range can seize full control of the Vision 60 robot, exfiltrate sensor data, and manipulate movement, causing physical damage to the robot or its surroundings.
Affected Products
- Ghost Robotics Vision 60 firmware version 0.27.2
- Ghost Robotics Vision 60 hardware platform
- Vision 60 companion Android APK containing embedded credentials
Discovery Timeline
- 2025-10-22 - CVE-2025-41110 published to the National Vulnerability Database
- 2026-06-17 - Last updated in NVD database
Technical Details for CVE-2025-41110
Vulnerability Analysis
The Ghost Robotics Vision 60 ships with an Android control application that stores WiFi and SSH credentials in encrypted form inside the APK. Because the decryption logic and keys reside in the same APK, an attacker who obtains the application can reverse the encryption and recover plaintext credentials. Once credentials are known, the attacker joins the robot's WiFi network. The onboard ROS 2 middleware operates without authentication by default, so any client on the network can subscribe to topics, publish commands, and invoke services. SSH access to the underlying Linux system escalates the impact from data access to full code execution on the robot.
Root Cause
The root cause is the storage of authentication material in a client-side artifact combined with the absence of authentication on the ROS 2 layer. Storing shared secrets in a distributable APK violates the principle that client applications cannot securely hold credentials, since anyone with the file can extract them. The lack of a Data Distribution Service (DDS) security profile on ROS 2 removes the second line of defense.
Attack Vector
Exploitation requires physical proximity to the robot's WiFi radio. The attacker retrieves the Vision 60 APK, extracts the encrypted credential blob, and decrypts it using the key material bundled in the application. The attacker then associates with the robot's access point, communicates with ROS 2 nodes over the default DDS transport, and opens an SSH session using the recovered credentials to obtain a root or privileged shell. See the INCIBE Security Notice for the coordinated advisory.
Detection Methods for CVE-2025-41110
Indicators of Compromise
- Unexpected SSH sessions on the Vision 60 originating from unknown MAC addresses or client hostnames.
- ROS 2 topic subscriptions or service calls from clients that are not part of the authorized operator inventory.
- New associations to the robot's WiFi access point outside of scheduled operations.
- Modifications to on-device configuration files, startup scripts, or ROS 2 launch files.
Detection Strategies
- Enable SSH authentication logging (/var/log/auth.log) and forward events to a central log store for review.
- Capture ROS 2 discovery traffic and alert on nodes advertising from unknown participants.
- Monitor the robot's wireless interface for unauthorized station associations using the access point logs.
Monitoring Recommendations
- Baseline expected ROS 2 node names, topics, and services, then alert on deviations.
- Track outbound network flows from the robot to identify data exfiltration attempts.
- Review APK distribution channels to confirm only signed, current builds reach operators.
How to Mitigate CVE-2025-41110
Immediate Actions Required
- Rotate all WiFi pre-shared keys and SSH credentials used by the Vision 60 fleet.
- Remove or restrict distribution of the affected APK version 0.27.2 and revoke any shared secrets bundled with it.
- Isolate the robot's wireless network from corporate and operational networks until credentials are rotated.
- Contact Ghost Robotics for a firmware update that removes embedded credentials and enables ROS 2 authentication.
Patch Information
At the time of publication, no vendor patch URL is listed in the advisory. Operators should track the INCIBE Security Notice and coordinate directly with Ghost Robotics for updated firmware and a revised control application that stores credentials server-side or per-device.
Workarounds
- Configure per-device unique WiFi and SSH credentials rather than a shared secret embedded in the APK.
- Enable ROS 2 DDS Security (SROS 2) to enforce authentication, access control, and encryption on the middleware.
- Restrict SSH access with key-based authentication and firewall rules that only allow known operator hosts.
- Operate the robot on an isolated wireless segment with WPA3-Enterprise or a VPN overlay to limit physical-range exposure.
# Configuration example: enforce key-based SSH and disable password login
sudo sed -i 's/^#\?PasswordAuthentication.*/PasswordAuthentication no/' /etc/ssh/sshd_config
sudo sed -i 's/^#\?PermitRootLogin.*/PermitRootLogin prohibit-password/' /etc/ssh/sshd_config
sudo systemctl restart sshd
# Enable ROS 2 DDS Security (SROS 2)
export ROS_SECURITY_KEYSTORE=~/sros2_keystore
export ROS_SECURITY_ENABLE=true
export ROS_SECURITY_STRATEGY=Enforce
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

