CVE-2026-27509

Unitree Go2 Missing DDS Authentication Enables Adjacent RCE

Published Feb 26, 2026 CVSS 4.0 · 8.5 High EPSS < 1% KEV · Not listed
Description
Unitree Go2 firmware versions V1.1.7 through V1.1.9, and V1.1.11 (EDU) do not implement DDS authentication or authorization for the Eclipse CycloneDDS topic rt/api/programming_actuator/request handled by actuator_manager.py. A network-adjacent, unauthenticated attacker can join DDS domain 0 and publish a crafted message (api_id=1002) containing arbitrary Python, which the robot writes to disk under /unitree/etc/programming/ and binds to a physical controller keybinding. When the keybinding is pressed, the code executes as root and the binding persists across reboots.

Remediation

No solution or workaround provided in the CVE record

Tracking

Sign in to view the affected projects.

Advisories

No advisories available
History
Type Values Removed Values Added
Description Unitree Go2 firmware versions V1.1.7 through V1.1.9 and V1.1.11 (EDU) do not implement DDS authentication or authorization for the Eclipse CycloneDDS topic rt/api/programming_actuator/request handled by actuator_manager.py. A network-adjacent, unauthenticated attacker can join DDS domain 0 and publish a crafted message (api_id=1002) containing arbitrary Python, which the robot writes to disk under /unitree/etc/programming/ and binds to a physical controller keybinding. When the keybinding is pressed, the code executes as root and the binding persists across reboots. Unitree Go2 firmware versions V1.1.7 through V1.1.9, and V1.1.11 (EDU) do not implement DDS authentication or authorization for the Eclipse CycloneDDS topic rt/api/programming_actuator/request handled by actuator_manager.py. A network-adjacent, unauthenticated attacker can join DDS domain 0 and publish a crafted message (api_id=1002) containing arbitrary Python, which the robot writes to disk under /unitree/etc/programming/ and binds to a physical controller keybinding. When the keybinding is pressed, the code executes as root and the binding persists across reboots.
Type Values Removed Values Added
First Time appeared Unitree
Unitree go2
Unitree go2 Edu
Unitree go2 Edu Firmware
Unitree go2 Firmware
CPEs cpe:2.3:h:unitree:go2:-:*:*:*:*:*:*:*
cpe:2.3:h:unitree:go2_edu:-:*:*:*:*:*:*:*
cpe:2.3:o:unitree:go2_edu_firmware:1.1.11:*:*:*:*:*:*:*
cpe:2.3:o:unitree:go2_firmware:*:*:*:*:*:*:*:*
Vendors & Products Unitree
Unitree go2
Unitree go2 Edu
Unitree go2 Edu Firmware
Unitree go2 Firmware
Type Values Removed Values Added
Metrics cvssV3_1

{'score': 8, 'vector': 'CVSS:3.1/AV:A/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H'}

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'total'}, 'version': '2.0.3'}

Type Values Removed Values Added
First Time appeared Unitreerobotics
Unitreerobotics unitree Go2
Vendors & Products Unitreerobotics
Unitreerobotics unitree Go2
Type Values Removed Values Added
Description Unitree Go2 firmware versions V1.1.7 through V1.1.9 and V1.1.11 (EDU) do not implement DDS authentication or authorization for the Eclipse CycloneDDS topic rt/api/programming_actuator/request handled by actuator_manager.py. A network-adjacent, unauthenticated attacker can join DDS domain 0 and publish a crafted message (api_id=1002) containing arbitrary Python, which the robot writes to disk under /unitree/etc/programming/ and binds to a physical controller keybinding. When the keybinding is pressed, the code executes as root and the binding persists across reboots.
Title Unitree Go2 Missing DDS Authentication Enables Adjacent RCE
Weaknesses CWE-306
References
Metrics cvssV4_0

{'score': 8.5, 'vector': 'CVSS:4.0/AV:A/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N'}

Weaknesses

Sources

Status
PUBLISHED
Assigner
VulnCheck
Published
Updated
May 26, 2026, 11:52 AM
Reserved
Feb 19, 2026, 7:51 PM
Status
Modified
Published
Feb 26, 2026, 8:31 PM
Modified
Jun 17, 2026, 10:27 AM