Listen to this Post
CVE-2026-27509 exploits a missing authentication mechanism in the Unitree Go2 robot dog’s firmware, specifically within its implementation of the Eclipse CycloneDDS protocol . The robot uses DDS as a message bus for internal communication between its software components, such as sensors and actuators. The service `actuator_manager.py` listens for commands on a specific DDS topic named `rt/api/programming_actuator/request` . Because the firmware versions V1.1.7 through V1.1.9 and the V1.1.11 EDU version do not enable the DDS security specification (DDS-Sec), no authentication is required to join the robot’s DDS domain (domain 0) . An attacker on the same network can publish a crafted message to this topic with a specific `api_id` value of 1002 . The message payload contains arbitrary Python code. The `actuator_manager.py` service, without any validation, receives this message, writes the Python code to a file on the robot’s filesystem at /unitree/etc/programming/, and binds the execution of this file to a physical button combination on the robot’s controller . When an unsuspecting user presses that button combination, the robot executes the attacker’s Python script with root privileges, and this malicious keybinding persists across system reboots, creating a permanent backdoor .
dailycve form:
Platform: Unitree Go2
Version: V1.1.7-V1.1.9, V1.1.11(EDU)
Vulnerability: Missing Authentication
Severity: HIGH
date: 03/12/2026
Prediction: No Patch (EDU)
What Undercode Say:
Analytics
This vulnerability allows for unauthenticated, remote code execution as root by any attacker on the same network segment as the robot. The attack complexity is low, requiring only the ability to publish a DDS message. The exploit leverages the robot’s intended functionality to upload and bind user-created programs, but without any integrity or authentication checks, making it a direct and highly reliable attack vector. The root-level access and persistence across reboots mean a compromised robot is completely under an attacker’s control.
How Exploit:
The exploit involves sending a specifically crafted DDS message to the robot.
1. An attacker first discovers the robot on the local network by probing DDS domain 0.
2. The attacker then creates a DDS message for the topic rt/api/programming_actuator/request.
3. This message is structured with `api_id` set to 1002, and the `data` field containing the malicious Python code, for example, a reverse shell payload.
4. The attacker publishes this message to the DDS domain. The robot’s `actuator_manager.py` service receives it and writes the payload to disk, linking it to a button press (e.g., R1+Y) .
Protection from this CVE
- Network Segmentation: Isolate the Unitree Go2 robot on a dedicated, firewalled VLAN that is not accessible from untrusted networks or devices.
- Monitor for Patches: While a patch for the EDU version is not expected, users of standard versions should continuously monitor Unitree’s official security channels for any future firmware updates that might address this issue.
- Disable Unused Features: If the “programming” functionality is not required, consider disabling the `actuator_manager.py` service if possible, though this may impact core robot functionality.
Impact
Successful exploitation grants an attacker complete, root-level control over the robot. This allows for:
– Surveillance: Accessing the robot’s cameras and LiDAR to monitor the environment .
– Physical Manipulation: Controlling all motors and actuators, enabling the attacker to move the robot at will or cause damage .
– Persistent Access: The malicious payload survives reboots, ensuring continued access even after the robot is power-cycled .
– Lateral Movement: The compromised robot could be used as a foothold to attack other devices on the same network.
🎯Let’s Practice Exploiting & Learn Patching For Free:
Sources:
Reported By: nvd.nist.gov
Extra Source Hub:
Undercode

