Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessGain adjacent network position (same LAN or Wi-Fi)
-
DeliveryConnect to unauthenticated WebRTC-to-DDS bridge on TCP 9991
-
ExploitRead world-readable AES-128 key from robot filesystem
-
ExecutionUpload malicious shell script via path traversal in chat_go API
-
PersistPublish DDS message to restart bashrunner service
-
ImpactBashrunner executes planted payload as uid 0
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK
2 techniques across 2 tactics: Discovery, Collection The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires the attacker to be network-adjacent - on the same LAN, broadcast domain, or Wi-Fi segment as the G1 EDU robot; remote internet-based exploitation is not possible due to the AV:A vector. Within that constraint, no authentication is required at any stage of the chain. The three prerequisite conditions are all default states in firmware through 1.5.2: the WebRTC-to-DDS bridge must be running on TCP port 9991 (default-enabled per the firmware design), the static AES-128 key must be present on the filesystem with world-readable permissions (a hardcoded design flaw), and the chat_go knowledge upload API must be accessible on the robot (default service). No special non-default configuration is needed - the attack targets the default deployment state. The primary factor limiting exploitation is the requirement for adjacent-network positioning; once that is satisfied, exploitation is unauthenticated, requires no user interaction, and is supported by public PoC code, making it highly reliable. |
| Impact | The CVSS 4.0 score of 8.7 is driven by AV:A (adjacent network), AC:L, PR:N, UI:N, and full VC/VI/VA impact. The adjacent-network vector is the single most important limiting signal - internet-facing exploitation is not possible; the attacker must be on the same broadcast domain, VLAN, or Wi-Fi segment as the robot. In university robotics labs, shared research networks, or demo environments this condition is readily met. The attack complexity is nominally low: while three weaknesses must be chained, each step is thoroughly documented in a public writeup (boschko.ca/g1-ble-rce/) and a working PoC (UniBLEed, GitHub), meaning reliable exploitation does not require original research. No CISA KEV listing has been observed, so confirmed in-the-wild exploitation is unverified, but publicly available exploit code significantly narrows the gap between disclosure and operational abuse. The root-level shell access impact is maximum - full confidentiality, integrity, and availability of the robot platform are compromised, with physical actuation implications if drive systems are accessible via DDS. For G1 EDU operators, this is a genuine priority that should not be dismissed on the basis of the non-internet AV:A vector alone. |
| Exploit ScenarioDerived | An attacker on the same university or lab Wi-Fi network as a Unitree G1 EDU robot scans for TCP port 9991, connects to the unauthenticated WebRTC-to-DDS bridge, and uses the publicly available UniBLEed PoC (https://github.com/OlivierLaflamme/UniBLEed) to publish DDS control messages. The attacker reads the world-readable AES-128 key from the robot's filesystem (obtained via any read primitive or prior access), crafts a path-traversal upload request to the chat_go API to write a malicious shell script into the bashrunner execution directory, then triggers a bashrunner service restart via DDS - causing the planted script to execute as root, yielding a persistent root shell on the robot platform. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 27, 2026
Unauthenticated remote code execution in Unitree G1 EDU firmware through 1.5.2 allows any network-adjacent attacker to gain a root shell on the robot by chaining three design flaws without credentials or user interaction. The attack exploits an open WebRTC-to-DDS bridge on TCP port 9991, a hardcoded world-readable AES-128 key, and a path traversal flaw in the chat_go knowledge upload API to plant and execute arbitrary scripts as uid 0 via the bashrunner service. Publicly available exploit code (UniBLEed on GitHub) and a full technical writeup confirm reliable exploitation; no KEV listing has been observed, but the adjacent-network vector makes this a real priority for any institution operating these robots on shared campus or lab networks.
RemediationAI
No vendor-released patch has been identified at the time of analysis; Unitree Robotics has not published a firmware advisory or fixed version. As the primary compensating control, operators should immediately isolate the G1 EDU robot on a dedicated VLAN or air-gapped network segment to prevent adjacent-network access to TCP port 9991 - this eliminates the entry point for the entire exploit chain. If network isolation is not feasible, apply host-based or perimeter firewall rules to block inbound connections to TCP port 9991 on the robot; note this will disable WebRTC-based teleoperation features that depend on the DDS bridge. Access to the chat_go knowledge upload API endpoint should be restricted via network ACL or disabled if chatbot knowledge-base functionality is not required, as disabling it prevents the path traversal write primitive even if the DDS bridge is reachable. Operators should audit the robot filesystem for world-readable cryptographic key files and consult Unitree Robotics support for guidance on key rotation if the firmware permits. Monitor https://www.vulncheck.com/advisories/unitree-g1-edu-unauthenticated-rce-via-dds-bridge-and-path-traversal and official Unitree firmware release channels for a patched firmware release.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The Unitree G1 EDU is a humanoid robot platform whose firmware exposes a WebRTC-to-DDS bridge on TCP port 9991 with no authentication layer. DDS (Data Distribution Service) is a publish-subscribe middleware standard widely used in ROS2 and real-time robotics control - exposure of this bus without authentication grants arbitrary publish/subscribe capability over robot control topics. A static AES-128 encryption key stored with world-readable filesystem permissions (a violation of secure key storage principles, closely related to CWE-321) allows message crafting or traffic decryption without privileged access. The chat_go API, used for knowledge-base uploads, fails to sanitize directory traversal sequences (CWE-22, the primary assigned weakness), allowing writes outside the intended upload directory into the bashrunner service's script execution path. The bashrunner service then invokes those scripts as a shell subprocess running as uid 0, completing the privilege chain. The CPE cpe:2.3:a:unitree_robotics:g1_edu:*:*:*:*:*:*:*:* confirms all firmware revisions through 1.5.2 are within scope.
Know when G1 Edu gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:A/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Adjacent-network vector (AV:A) required; no authentication or interaction needed; full CIA impact on the robot; no scope change to other systems confirmed.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Unitree G1 EDU firmware through 1.5.2 contains an unauthenticated remote code execution vulnerability that allows network-adjacent attackers to execute arbitrary commands as root by chaining three weaknesses: an unauthenticated WebRTC-to-DDS bridge on TCP port 9991, a static AES-128 key stored with world-readable permissions, and a path traversal flaw in the chat_go knowledge upload API. Attackers can publish DDS control messages to restart the bashrunner service, plant a malicious payload in its script execution directory via path traversal, and trigger execution of that payload as uid 0 through the bashrunner shell subprocess.
Latest POC
1 public PoC link from github
Sign in to open the public PoC links collected for this CVE.
Executive ViewAI
Unitree G1 EDU robots running firmware through version 1.5.2 are vulnerable to unauthenticated remote root code execution; publicly available exploit code exists and makes this a practical threat to any institution operating these robots on shared networks. Organizations must immediately isolate affected systems to prevent compromise of research data, physical robot sabotage, or lateral network spread.
Network segmentation (air-gap or dedicated VLAN), firewall rules denying external access to TCP 9991, disable WebRTC bridge functionality if unused, continuous file integrity monitoring for unauthorized modifications, restrict robot network access to isolated test networks, disable robot when not in active use.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
EUVD-2026-67165
GHSA-q24f-vr89-8h97
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB