Security researcher Olivier Laflamme has publicly disclosed two independent, unauthenticated root remote code execution chains affecting the Unitree G1 EDU humanoid robot, tracked as CVE-2026-76639 and CVE-2026-76640. The most alarming of the two is reachable over Bluetooth Low Energy (BLE) — meaning an attacker within radio range of a powered-on robot can achieve root on the robot's Locomotion PC without credentials, without user interaction, and without ever touching your corporate network.
This is a watershed moment for robotics security. The G1 EDU is widely deployed in universities, research labs, and increasingly in commercial pilot programs. These robots are not toys — they are full Linux systems with cameras, microphones, actuators capable of physical force, and (critically) persistent connectivity to the networks they're deployed on. A rooted humanoid is a physical, mobile foothold inside your environment. Defenders need to treat this with the same urgency as an unauthenticated RCE on a perimeter appliance — because functionally, that's what it is.
Technical Analysis
Affected Platform
- Product: Unitree G1 EDU humanoid robot
- Affected component: Locomotion PC (the robot's onboard Linux compute) and associated control services
- Attack surface: Bluetooth Low Energy (BLE) interface, network-adjacent control plane services (
chat_go,bashrunner)
The Vulnerabilities
CVE-2026-76639 — Network-adjacent RCE via chat_go and bashrunner. The first chain traverses the robot's chat_go service and reaches a component named bashrunner — a name that should alarm any defender immediately, because it implies a service whose function is to execute shell commands. An attacker with network adjacency to the robot (same Wi-Fi/LAN segment, or direct connection to the robot's hotspot) can chain these services to execute arbitrary commands as root. No authentication is required.
CVE-2026-76640 — BLE-reachable root RCE. The second chain begins over the robot's BLE interface — the same radio used for app pairing and controller connectivity — and pivots into root-level code execution on the Locomotion PC. BLE attacks require physical proximity (typically tens of meters, more with a directional antenna), but in a campus, lab, trade show, or warehouse environment that bar is trivially low. No pairing credentials, no user interaction, no network access needed.
Why This Matters Beyond the Robot
From a defender's perspective, the worst-case scenario isn't the robot being bricked — it's the robot being weaponized as a pivot:
- Attacker gains root via BLE or the network-adjacent path.
- Persistence is installed on the Locomotion PC (cron, systemd units, dropped binaries).
- The robot becomes a mobile implant — it walks (literally) into areas with cameras and microphones, scans adjacent networks, and serves as a beachhead into research networks that are often flat and lightly segmented by design.
- Physical safety risk: root access means actuator control. A compromised humanoid is a physical hazard to people working near it.
Exploitation Status
The disclosure is fresh off research publication with working exploit chains demonstrated. At time of writing there is no confirmed CISA KEV entry, but these flaws are unauthenticated, low-complexity, and require no special tooling beyond BLE or LAN proximity — exactly the profile that gets weaponized quickly once public. Treat exploitation as imminent and prioritize accordingly.
Detection & Response
This is a technical threat — full detection content follows. Note that the Locomotion PC is a Linux system, so endpoint detection depends on shipping syslog/auditd or EDR telemetry from the robot into your SIEM. If your robots are currently telemetry black holes, that gap must be closed first.
Sigma Rules
---
title: Unitree G1 bashrunner Service Spawning Shell Commands
id: 3f8c1a72-6b2e-4d91-ac47-9e0f5d2b8a11
status: experimental
description: Detects the bashrunner or chat_go services on Unitree G1 EDU robots spawning shell interpreters or execution utilities, consistent with exploitation of CVE-2026-76639.
references:
- https://thehackernews.com/2026/08/two-unitree-g1-edu-humanoid-robot-flaws.html
author: Security Arsenal
date: 2026/08/15
tags:
- attack.execution
- attack.t1059.004
- cve.2026.76639
logsource:
category: process_creation
product: linux
detection:
selection_parent:
ParentImage|contains:
- 'bashrunner'
- 'chat_go'
selection_child:
Image|endswith:
- '/bash'
- '/sh'
- '/dash'
- '/python'
- '/python3'
- '/perl'
- '/curl'
- '/wget'
- '/nc'
- '/ncat'
condition: selection_parent and selection_child
falsepositives:
- Vendor firmware updates invoking scripts through control services (correlate with maintenance windows)
level: high
---
title: Suspicious Persistence or Download Activity on Robot Compute
id: 8b2d4e61-1c7a-4f35-b908-2e6a3d9f0c55
status: experimental
description: Detects creation of systemd units, cron entries, or outbound download tooling execution on Unitree robot compute, consistent with post-exploitation persistence following CVE-2026-76639 or CVE-2026-76640 compromise.
references:
- https://thehackernews.com/2026/08/two-unitree-g1-edu-humanoid-robot-flaws.html
author: Security Arsenal
date: 2026/08/15
tags:
- attack.persistence
- attack.t1053.003
- attack.t1543.002
logsource:
category: process_creation
product: linux
detection:
selection_cron:
CommandLine|contains:
- '/etc/cron'
- 'crontab '
- '/var/spool/cron'
selection_systemd:
CommandLine|contains:
- 'systemctl enable'
- 'systemctl start'
- '/etc/systemd/system/'
selection_download:
CommandLine|contains:
- 'curl http'
- 'wget http'
- 'base64 -d'
- '/dev/tcp/'
condition: 1 of selection_*
falsepositives:
- Legitimate robot software installation or OTA update activity
level: high
---
title: Interactive Shell From Non-Standard Parent on Robot Compute
id: c51e9a08-4f6b-48d2-bb71-0a3c7f5e2d94
status: experimental
description: Detects interactive shells spawned by unexpected parent processes on robot Linux compute, indicating successful remote exploitation rather than legitimate SSH administrative access.
references:
- https://thehackernews.com/2026/08/two-unitree-g1-edu-humanoid-robot-flaws.html
author: Security Arsenal
date: 2026/08/15
tags:
- attack.execution
- attack.t1059
logsource:
category: process_creation
product: linux
detection:
selection_shell:
Image|endswith:
- '/bash'
- '/sh'
filter_legit:
ParentImage|endswith:
- '/sshd'
- '/login'
- '/systemd'
condition: selection_shell and not filter_legit
falsepositives:
- Vendor agent or OTA tooling spawning shells (baseline and allowlist per robot image)
level: medium
KQL (Microsoft Sentinel / Defender)
Ship syslog and auditd from each robot's Locomotion PC into Sentinel. This query hunts process execution patterns matching the disclosed exploit chains and post-exploitation behavior:
let Lookback = 14d;
Syslog
| where TimeGenerated > ago(Lookback)
| where Computer has_any ("g1", "unitree", "locomotion") // tune to your robot hostnames
| where SyslogMessage has_any ("bashrunner", "chat_go")
or (SyslogMessage has_any ("cron", "systemctl enable", "curl http", "wget http", "/dev/tcp/", "base64 -d"))
| project TimeGenerated, Computer, ProcessName, SyslogMessage, HostIP
| order by TimeGenerated desc;
// Correlate with unexpected inbound connections to robot services
CommonSecurityLog
| where TimeGenerated > ago(Lookback)
| where DestinationHostName has_any ("g1", "unitree") or DestinationIP in (dynamic([])) // populate robot IP ranges
| where DestinationPort !in (22, 443, 53) // flag non-standard service ports
| summarize ConnectionCount = count(), DistinctSources = dcount(SourceIP) by DestinationIP, DestinationPort, bin(TimeGenerated, 1h)
| where ConnectionCount > 50 or DistinctSources > 3
| order by TimeGenerated desc
Velociraptor VQL
Deploy Velociraptor (or run a manual hunt artifact) on robot compute to enumerate suspicious processes, persistence, and unexpected listeners — BLE exploitation will leave no traditional network log, so endpoint state is your ground truth:
-- Hunt for suspicious processes and persistence on Unitree robot compute
LET suspicious_procs = SELECT Pid, Ppid, Name, CommandLine, Exe, Username, CreateTime
FROM pslist()
WHERE CommandLine =~ 'bashrunner|chat_go'
OR (Name =~ 'bash|sh$' AND Username =~ 'root' AND CommandLine =~ 'curl|wget|nc |/dev/tcp/')
LET persistence = SELECT FullPath, Mtime, Size
FROM glob(globs=['/etc/systemd/system/*.service', '/etc/cron.d/*', '/var/spool/cron/crontabs/*', '/root/.ssh/authorized_keys'])
WHERE Mtime > now() - 1209600 -- modified in last 14 days
LET listeners = SELECT Pid, Name, LocalAddress, LocalPort, RemoteAddress, Status
FROM netstat()
WHERE Status =~ 'LISTEN' AND LocalPort NOT IN (22, 5353, 1900)
SELECT * FROM suspicious_procs
UNION ALL SELECT Pid=NULL, Ppid=NULL, Name='PERSISTENCE', CommandLine=FullPath, Exe=NULL, Username=NULL, CreateTime=Mtime FROM persistence
Hardening / Verification Script (Bash)
Run on each G1 EDU Locomotion PC (or via your fleet management path) to reduce attack surface until vendor firmware lands. Verify Unitree's patched firmware version against the official advisory before applying:
#!/bin/bash
# Unitree G1 EDU interim hardening — CVE-2026-76639 / CVE-2026-76640
# Run as root on the Locomotion PC. Test in a lab robot first.
# 1. Check for vendor firmware update availability
echo "[*] Current firmware/software versions:"
dpkg -l 2>/dev/null | grep -i -E 'unitree|chat_go|bashrunner' || \
ls -la /opt/unitree/ /home/unitree/ 2>/dev/null
# 2. Disable BLE when not actively required (WORKAROUND — breaks app pairing)
echo "[*] Disabling Bluetooth to close the CVE-2026-76640 BLE attack path..."
systemctl stop bluetooth 2>/dev/null
systemctl disable bluetooth 2>/dev/null
rfkill block bluetooth 2>/dev/null
hciconfig hci0 down 2>/dev/null
# 3. Restrict network-adjacent services to management VLAN only
echo "[*] Applying host firewall rules — allow SSH from mgmt subnet only..."
MGMT_NET="10.10.20.0/24" # <-- CHANGE to your management/robotics subnet
iptables -F INPUT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -s "$MGMT_NET" -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -j DROP
iptables-save > /etc/iptables/rules.v4 2>/dev/null || iptables-save > /etc/iptables.rules
# 4. Audit persistence and unexpected listeners
echo "[*] Persistence audit:"
crontab -l 2>/dev/null; ls -la /etc/cron.d/ /etc/systemd/system/*.service 2>/dev/null
echo "[*] Listening services:"
ss -tlnp
echo "[+] Hardening applied. Re-enable bluetooth ONLY after patched firmware is confirmed."
Remediation
- Inventory immediately. Identify every Unitree G1 EDU in your environment — including lab units and demo units that never made it into IT asset management. You cannot patch what you don't know exists.
- Apply the vendor firmware update as soon as Unitree publishes patched images addressing CVE-2026-76639 and CVE-2026-76640. Track the vendor advisory and the researcher's disclosure thread for patch confirmation and exact fixed version numbers — verify the patch revokes the unauthenticated paths in both
chat_go/bashrunnerand the BLE handler. - Until patched, kill the BLE path. Bluetooth is the proximity-attack vector and the easiest to disable. If operations require BLE, enforce physical access controls around powered-on robots and power them off when unattended.
- Segment robot networks. Place all robot compute on a dedicated, isolated VLAN with default-deny egress and no route to production, research data stores, or identity infrastructure. The network-adjacent CVE-2026-76639 path assumes adjacency — remove the adjacency.
- Close the telemetry gap. Forward syslog/auditd from every Locomotion PC to your SIEM today. A Linux box you can't see is a Linux box you can't defend.
- Assume compromise on exposed units. Any robot that was powered on, BLE-enabled, and reachable in a shared physical space since deployment should be re-imaged from known-good media, not just patched — unauthenticated root RCE with public exploit chains means you cannot rule out prior compromise.
- Establish a robotics security policy. This disclosure is the template for what's coming across the humanoid/AMR market. Procurement requirements should now include SBOMs, signed firmware, authenticated control channels, and a published security advisory process from robotics vendors.
Related Resources
Security Arsenal Penetration Testing Services AlertMonitor Platform Book a SOC Assessment vulnerability-management Intel Hub
Is your security operations ready?
Get a free SOC assessment or see how AlertMonitor cuts through alert noise with automated triage.