Durante una investigación de seguridad independiente, logré identificar y analizar en detalle dos graves cadenas de ataques contra el robot humanoide Unitree G1. Ambas permiten obtener control total sobre el dispositivo, y una de ellas funciona de forma remota, dentro del alcance de la señal Bluetooth. El fabricante ya ha confirmado los problemas y ha publicado las actualizaciones de seguridad correspondientes.

Vulnerabilidad UniBLEed: evasión de autenticación

El primer hallazgo, y el más crítico, que denominé UniBLEed, consiste en la posibilidad de conectarse al robot por Bluetooth sin ninguna confirmación o contraseña. Al realizar la solicitud, el dispositivo envía un bloque de servicio cifrado: un conjunto envuelto con RSA que contiene una clave AES-128, el número de serie y la dirección Bluetooth. Según el diseño de los arquitectos, solo la infraestructura en la nube de Unitree podría descifrar estos datos.

Sin embargo, mi análisis reveló un defecto fundamental: el servicio acepta este bloque y devuelve los datos descifrados a cualquier usuario registrado, sin verificar si es el propietario del robot específico. Este es un ejemplo clásico de error donde hay autenticación, pero no autorización. El número de serie del G1 se extrae fácilmente de la publicidad Bluetooth, que el dispositivo transmite en claro, o mediante una solicitud separada sin cifrar. Así, un atacante con una cuenta gratuita de Unitree puede recuperar la clave de un robot específico y obtener acceso completo a su canal cifrado, incluidos los comandos de configuración de Wi-Fi.

Escalada y segunda cadena de ataques

El desarrollo posterior del ataque está relacionado con el script wpa_connect.sh. Si se le envía una contraseña de Wi-Fi de 121 bytes, el robot pasa a un modo manual inseguro de procesamiento de configuraciones de red. En este modo, los datos llegan a la configuración de wpa_supplicant sin ningún filtrado ni escape. En la práctica, esto permite suplantar los parámetros de red para que el G1 se conecte al punto de acceso del atacante, forzando al robot a una red controlada por el atacante.

Después de esto, se activa la segunda cadena (CVE-2026-76639). El servicio de IA conversacional chat_go permite que la aplicación móvil envíe notas de texto para la base de conocimientos interna. En lugar de una nota normal, se puede escribir un archivo arbitrario en el directorio de otro servicio mediante la manipulación de la ruta. Tras un reinicio, este servicio ve el archivo inyectado y lo agrega a la lista de permitidos, abriendo el camino para más manipulaciones.

Por separado, vale la pena considerar un vector alternativo (CVE-2026-76640), que comienza con un desbordamiento de búfer en el propio servidor Bluetooth. Al enviar 1050 bytes "extra", sobrescribí las estructuras adyacentes en la memoria, forcé la finalización del bucle principal de procesamiento de eventos y sustituí un registro de limpieza falso. Como resultado, el proceso ejecuta un comando del sistema con privilegios de root. Cabe destacar que la cadena es transversal: después de comprometer un G1, este puede usar el mismo escenario para atacar a otros robots dentro del alcance de Bluetooth. Reproduje las vulnerabilidades en diferentes instancias del G1, confirmando su estabilidad.

Por el trabajo realizado, recibí una recompensa de $5000.

Mi comentario: Los problemas encontrados son un claro ejemplo de cómo la carrera por la funcionalidad en la robótica de consumo supera a la seguridad. Es especialmente preocupante la posibilidad de propagación horizontal del ataque entre robots. La industria debe replantear su enfoque en el modelado de amenazas para dispositivos físicos, donde las consecuencias de un hackeo van mucho más allá de una fuga de datos.