CVE-2025-35027 Overview
CVE-2025-35027 is a command injection vulnerability [CWE-78] affecting multiple Unitree robotic platforms, including the Go2 quadruped, G1 and H1 humanoids, and B2 quadruped. The flaw resides in the WiFi configuration path exposed through the Bluetooth Low Energy (BLE) module. An attacker within BLE range can supply a malicious string during on-board WiFi configuration and trigger a WiFi service restart. The malicious payload is then executed as root by the wpa_supplicant_restart.sh shell script. All affected models share firmware derived from the MIT Cheetah codebase, with the G1 and Go2 forks being the two primary branches.
Critical Impact
An adjacent-network attacker with low privileges can achieve root command execution on affected Unitree robots, taking full control of the device's motion, sensors, and network stack.
Affected Products
- Unitree Go2 (quadruped) and Go2 firmware
- Unitree G1 (humanoid) and G1 firmware
- Unitree H1 (humanoid) and H1 firmware
- Unitree B2 (quadruped) and B2 firmware
Discovery Timeline
- 2025-09-26 - CVE-2025-35027 published to the National Vulnerability Database (NVD)
- 2026-06-17 - Last updated in NVD database
Technical Details for CVE-2025-35027
Vulnerability Analysis
The vulnerability originates in the Unitree firmware's WiFi provisioning workflow. Provisioning is performed over a BLE service exposed by the robot, allowing a nearby operator to configure the SSID and other WiFi parameters. The received configuration values are written to a location later consumed by the wpa_supplicant_restart.sh shell script. When the WiFi service is restarted, the script processes the attacker-controlled value without proper input sanitization or shell metacharacter escaping.
Because the restart script runs with root privileges, any injected shell command executes with full system authority. This gives the attacker complete control over the robotic platform, including motor controllers, cameras, LiDAR, and outbound network connectivity. The shared MIT Cheetah-derived codebase means the same code path is present across the Go2, G1, H1, and B2 product lines.
Root Cause
The root cause is improper neutralization of special elements used in an OS command [CWE-78]. WiFi configuration input received over BLE is concatenated into a shell command context inside wpa_supplicant_restart.sh without validation or quoting, allowing metacharacters such as ;, |, $(), and backticks to break out of the intended argument.
Attack Vector
Exploitation requires the attacker to be within BLE range of the target robot and to have low-privilege access to the pairing or provisioning interface. The attacker connects to the BLE service, submits a crafted WiFi configuration containing a shell payload, and issues a WiFi service restart. The restart script parses the malicious value and executes the embedded commands as root.
A public proof-of-concept demonstrating this flow is published in the UniPwn GitHub repository, and additional context is available in the IEEE Spectrum analysis of the Unitree exploit.
Detection Methods for CVE-2025-35027
Indicators of Compromise
- Unexpected child processes spawned by wpa_supplicant_restart.sh or its parent WiFi management daemon.
- Shell metacharacters (;, |, `, $() present in stored WiFi SSID or configuration fields on the device.
- Unscheduled WiFi service restarts closely following BLE provisioning sessions.
- Outbound connections from the robot to unknown hosts shortly after a BLE pairing event.
Detection Strategies
- Monitor process execution telemetry on the robot's Linux userland for anomalous root processes launched by network configuration scripts.
- Baseline BLE provisioning activity and alert on repeated or malformed WiFi configuration writes.
- Inspect on-device configuration files for shell metacharacters in fields that should contain only SSID or PSK values.
Monitoring Recommendations
- Forward robot syslog and process telemetry to a centralized data lake for correlation across fleets of Unitree units.
- Correlate BLE connection events with subsequent WiFi service restarts and outbound network activity.
- Track firmware version inventory across all Unitree Go2, G1, H1, and B2 devices to identify unpatched units.
How to Mitigate CVE-2025-35027
Immediate Actions Required
- Physically isolate affected Unitree robots from untrusted environments where BLE-range attackers may operate.
- Disable the BLE provisioning interface when not in active use, if the firmware permits.
- Restrict physical and radio access to Go2, G1, H1, and B2 devices until a vendor patch is applied.
- Inventory all deployed Unitree robots and record their current firmware versions.
Patch Information
No vendor advisory URL is listed in the NVD record at the time of publication. Operators should monitor Unitree's official support channels for firmware updates addressing CVE-2025-35027 and related identifiers referenced in the TakeOnMe CVE listing, CVE-2025-60017, and CVE-2025-60250.
Workarounds
- Operate affected robots only in RF-controlled environments where BLE traffic can be attributed and monitored.
- Rotate any credentials or keys that may have been exposed on a robot suspected of compromise, and reflash firmware from a known-good image.
- Segment the robot's WiFi network from sensitive enterprise or operational technology networks.
- Where feasible, provision WiFi via a wired maintenance channel instead of the BLE interface.
# Example: verify no shell metacharacters exist in stored WiFi config on the robot
sudo grep -E '[;|`$()&]' /etc/wpa_supplicant/wpa_supplicant.conf
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

