Una vulnerabilidad de código de ejecución remota (RCE) existe en MIUI, la implementación propia del sistema operativo Android de Xiaomi, en versiones anteriores a MIUI Global Stable 7.2. La vulnerabilidad reside en el componente analítico MIUI, que varias apps Android usan para recolectar datos sobre el modo en que se usa la aplicación en el dispositivo del usuario. De acuerdo al equipo de Inteligencia de Seguridad de IBM, este componente tiene un mecanismo de autoactualización que puede ser manipulado a través de un ataque MitM (Man-in-the-Middle) y usado para enviar paquetes de actualización maliciosos.

Xiaomi Mi5

Los componentes analíticos de MIUI usan una actualización automática basada en HTTP

Dado que el módulo analítico no verifica el paquete descargado y lo ejecuta a ciegas, un atacante tiene la oportunidad de ejecutar su código en el contexto y con los permisos de un usuario muy privilegiado del sistema Android.

El lado técnico del problema recae en el hecho de que los paquetes analíticos usan HTTP para poner en cola actualizaciones del servidor para actualizar, y luego se descarga el paquete vía HTTP. Un atacante puede esperar a que haya peticiones de actualización y usar técnicas básicas, responder en nombre del servidor y dar una respuesta falsa.

Esta respuesta contiene links al archivo APK que el paquete analítico necesita para descargar y ejecutar. Dado que los componentes analíticos no se involucran en ningún tipo de verificación criptográfica del paquete descargado o del servidor del que se ha sacado el archivo, el ataque se realiza como si nada.

Millones de dispositivos Xiaomi podrían estar afectados

Muchas aplicaciones de Android, iOS y escritorio se han visto expuestos en los meses recientes por no usar HTTPS para enviar actualizaciones. En el caso de Xiaomi, la situación es peligrosa porque la compañía es el tercer fabricante de smartphones más grande del mundo, por detrás de Samsung y Apple.

La compañía vendió más de 70 millones de dispositivos solo en 2015, y ahora podrían estar en peligro de ser pirateados si el usuario no es capaz de actualizar a la versión del OS más reciente. IBM dice que ha identificado paquetes analíticos vulnerables en al menos cuatro apps por defecto en distribuciones MIUI de Xiaomi, una de ellas el navegador por defecto.