Pagaron miles de dólares por un robot y lo que recibieron fue una puerta trasera de cuatro patas

Un robot doméstico tipo perro puede convertirse en un «caballo de Troya» si se encuentra cerca una persona con un portátil y los conocimientos adecuados. En modelos populares de Unitree se han hallado vulnerabilidades que permiten inyectar código sin ser detectado y obtener control total del dispositivo.
Se trata de modelos de la línea Go2, incluida la versión AIR. Los problemas recibieron las identificaciones CVE-2026-27509 y CVE-2026-27510. Ambas conducen a la ejecución remota de código, pero usan diferentes vectores de entrada. En el primer caso, un atacante se conecta al servicio interno del robot mediante el protocolo de distribución de datos; en el segundo, sustituye datos en la aplicación móvil y obliga al dispositivo a iniciar un escenario arbitrario.
La primera vulnerabilidad, CVE-2026-27509, afecta a firmware hasta la versión 1.1.11 inclusive, y en la edición EDU se mantiene incluso después. El robot emplea el middleware Eclipse CycloneDDS para el intercambio de mensajes entre módulos. Por defecto la autenticación no está activada. Cualquier dispositivo en la misma red puede conectarse al dominio de intercambio de datos y enviar un mensaje a la sección de servicio programming_actuator. El servicio acepta la solicitud, extrae de ella el texto del programa en Python, guarda el archivo en el directorio /unitree/etc/programming/ y lo asigna a una de las combinaciones de botones del mando.
A partir de ahí todo es sencillo. El propietario pulsa, por ejemplo, R1+Y, y el robot ejecuta el archivo guardado con privilegios de root. No hay comprobación del contenido, no hay límites de recursos ni aislamiento. Basta con cargar el escenario malicioso una vez, y este sobrevivirá a un reinicio, ya que la vinculación al botón se guarda en un archivo de texto separado. De hecho, el atacante obtiene una puerta trasera persistente que se activa al pulsar el botón.
En el firmware 1.1.11 el fabricante intentó reducir la superficie de ataque y desactivó la exposición automática de las secciones de servicio en la red. El número de canales visibles de intercambio se redujo de decenas a cuatro. Sin embargo, en la versión EDU el mecanismo problemático siguió siendo accesible, según confirmaron en comunicaciones con la compañía.
La segunda vulnerabilidad, CVE-2026-27510, explota la misma lógica interna pero por otra vía. La aplicación Unitree para Android permite crear escenarios visuales de comportamiento del robot: el usuario ensambla acciones en una interfaz gráfica, tras lo cual el programa se convierte en código Python y se envía al dispositivo. Ese código también se guarda en /unitree/etc/programming/ y se ejecuta con la combinación de teclas asignada.
Los especialistas descubrieron que el texto del escenario se almacena en una base de datos SQLite local en el teléfono. Si se obtienen privilegios de superusuario en el dispositivo y se modifica el campo pyCode en la tabla, se puede insertar cualquier código Python. Tras devolver la base de datos a su lugar, la aplicación, sin comprobaciones, envía el escenario alterado al robot. El mecanismo es el mismo: el archivo se graba en el directorio del sistema, se asigna a un botón y se ejecuta con privilegios de administrador.
Un riesgo adicional está relacionado con la tienda de escenarios de usuario. La aplicación permite publicar programas creados y compartirlos con otros propietarios. En determinadas condiciones un atacante podría preparar un escenario malicioso e intentar distribuirlo a través de esa plataforma, lo que abriría la puerta a una infección masiva de dispositivos.
El fabricante puso en marcha su propio centro de respuesta a incidentes y en febrero de 2026 publicó la actualización 1.1.13 con correcciones para CVE-2026-27510 y con una verificación adicional de los escenarios cargados. La corrección para CVE-2026-27509 en la edición EDU aún está en cuestión.