CVE-2025-35027
📋 TL;DR
This CVE describes a command injection vulnerability in Unitree robotic products that allows attackers to execute arbitrary commands as root by injecting malicious strings during WiFi configuration via BLE. Affected devices include Unitree Go2, G1, H1, and B2 robots running firmware derived from the MIT Cheetah codebase. The vulnerability is triggered when restarting the WiFi service after malicious configuration.
💻 Affected Systems
- Unitree Go2
- Unitree G1
- Unitree H1
- Unitree B2
📦 What is this software?
B2 Firmware by Unitree
G1 Firmware by Unitree
H1 Firmware by Unitree
⚠️ Risk & Real-World Impact
Worst Case
Complete compromise of the robotic system allowing root-level command execution, potential physical safety risks if robot control is hijacked, and lateral movement to connected networks.
Likely Case
Unauthorized access to robot systems, data exfiltration, disruption of robot operations, and potential installation of persistent backdoors.
If Mitigated
Limited impact if network segmentation, BLE access controls, and input validation are properly implemented.
🎯 Exploit Status
Exploitation requires BLE proximity and ability to configure WiFi settings. Public proof-of-concept available in UniPwn repository.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Not available
Vendor Advisory: Not available
Restart Required: No
Instructions:
No official patch available. Monitor Unitree security advisories for updates.
🔧 Temporary Workarounds
Disable BLE WiFi configuration
linuxDisable Bluetooth Low Energy WiFi configuration functionality to prevent exploitation vector
systemctl disable unitree-ble-wifi
systemctl stop unitree-ble-wifi
Implement input validation in wpa_supplicant_restart.sh
linuxAdd input sanitization to prevent command injection in the vulnerable shell script
Edit /path/to/wpa_supplicant_restart.sh to sanitize all user inputs and use parameterized commands
🧯 If You Can't Patch
- Implement strict network segmentation to isolate robotic systems from critical networks
- Enable BLE security controls and restrict physical access to robots
🔍 How to Verify
Check if Vulnerable:
Check if wpa_supplicant_restart.sh script exists and contains unsanitized user input in command execution
Check Version:
Check firmware version via robot's administrative interface or system logs
Verify Fix Applied:
Verify that wpa_supplicant_restart.sh script properly sanitizes inputs and uses secure command execution methods
📡 Detection & Monitoring
Log Indicators:
- Unusual BLE connection attempts
- WiFi service restarts with suspicious configuration parameters
- Root command execution from wpa_supplicant processes
Network Indicators:
- Unexpected outbound connections from robotic systems
- BLE scanning activity near robots
SIEM Query:
source="robot_systems" AND (event="wpa_supplicant_restart" OR event="ble_config_change") AND command="*"
🔗 References
- https://github.com/Bin4ry/UniPwn
- https://spectrum.ieee.org/unitree-robot-exploit
- https://takeonme.org/cves/cve-2025-35027
- https://www.cve.org/cverecord?id=CVE-2025-60017
- https://www.cve.org/cverecord?id=CVE-2025-60250
- https://x.com/committeeonccp/status/1971250635548033311
- https://github.com/Bin4ry/UniPwn