{"id":"CVE-2026-27509","state":"PUBLISHED","title":"Unitree Go2 Missing DDS Authentication Enables Adjacent RCE","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.","publishedAt":"2026-02-26T18:56:31.648Z","updatedAt":"2026-05-26T11:52:07.158Z","severity":{"score":8.5,"label":"High","version":"4.0","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","source":"VulnCheck"},"assigner":"VulnCheck","products":["UnitreeRobotics Unitree Go2"],"affected":[{"vendor":"UnitreeRobotics","product":"Unitree Go2","defaultStatus":"unaffected","versions":[{"version":"1.1.7","status":"affected","lessThanOrEqual":"1.1.9","versionType":"semver"},{"version":"1.1.11","status":"affected","versionType":"semver"}]}],"references":["https://boschko.ca/unitree-go2-rce/","https://shop.unitree.com/products/unitree-go2","https://www.vulncheck.com/advisories/unitree-go2-missing-dds-authentication-enables-adjacent-rce"],"weaknesses":["CWE-306"],"ingestedAt":"2026-10-29T20:11:31.369Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/27xxx/CVE-2026-27509.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-27509","state":"PUBLISHED","datePublished":"2026-02-26T18:56:31.648Z","dateUpdated":"2026-05-26T11:52:07.158Z","assignerShortName":"VulnCheck","assignerOrgId":"83251b91-4cc7-4094-a5c7-464a1b83ea10","dateReserved":"2026-02-19T19:51:07.327Z"},"containers":{"cna":{"title":"Unitree Go2 Missing DDS Authentication Enables Adjacent RCE","descriptions":[{"lang":"en","value":"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."}],"affected":[{"vendor":"UnitreeRobotics","product":"Unitree Go2","defaultStatus":"unaffected","versions":[{"version":"1.1.7","status":"affected","lessThanOrEqual":"1.1.9","versionType":"semver"},{"version":"1.1.11","status":"affected","versionType":"semver"}]}],"references":[{"url":"https://boschko.ca/unitree-go2-rce/","tags":["technical-description","exploit"]},{"url":"https://shop.unitree.com/products/unitree-go2","tags":["product"]},{"url":"https://www.vulncheck.com/advisories/unitree-go2-missing-dds-authentication-enables-adjacent-rce","tags":["third-party-advisory"]}],"metrics":[{"cvssV4_0":{"Automatable":"NOT_DEFINED","Recovery":"NOT_DEFINED","Safety":"NOT_DEFINED","attackComplexity":"LOW","attackRequirements":"NONE","attackVector":"ADJACENT","baseScore":8.5,"baseSeverity":"HIGH","privilegesRequired":"NONE","providerUrgency":"NOT_DEFINED","subAvailabilityImpact":"NONE","subConfidentialityImpact":"NONE","subIntegrityImpact":"NONE","userInteraction":"ACTIVE","valueDensity":"NOT_DEFINED","vectorString":"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","version":"4.0","vulnAvailabilityImpact":"HIGH","vulnConfidentialityImpact":"HIGH","vulnIntegrityImpact":"HIGH","vulnerabilityResponseEffort":"NOT_DEFINED"},"format":"CVSS","scenarios":[{"lang":"en","value":"GENERAL"}]},{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"ADJACENT_NETWORK","availabilityImpact":"HIGH","baseScore":8,"baseSeverity":"HIGH","confidentialityImpact":"HIGH","integrityImpact":"HIGH","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"REQUIRED","vectorString":"CVSS:3.1/AV:A/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","version":"3.1"},"format":"CVSS","scenarios":[{"lang":"en","value":"GENERAL"}]}],"problemTypes":[{"descriptions":[{"cweId":"CWE-306","description":"CWE-306 Missing Authentication for Critical Function","lang":"en","type":"CWE"}]}],"providerMetadata":{"shortName":"VulnCheck","orgId":"83251b91-4cc7-4094-a5c7-464a1b83ea10","dateUpdated":"2026-05-26T11:52:07.158Z"},"credits":[{"lang":"en","type":"finder","value":"Olivier Laflamme"},{"lang":"en","type":"finder","value":"Ruikai Peng"}],"source":{"discovery":"UNKNOWN"},"x_generator":{"engine":"Vulnogram 0.5.0"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-02-27T17:53:39.495825Z","id":"CVE-2026-27509","options":[{"Exploitation":"poc"},{"Automatable":"no"},{"Technical Impact":"total"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-02-27T17:53:46.477Z"}}]}}}