Una vulnerabilidad en las implementaciones del protocolo Bluetooth para Android, macOS, iOs, iPadOS y Linux permite a agentes maliciosos controlar otros dispositivos de forma remota y sin que sus propietarios hayan autorizado su emparejamiento con otros periféricos.
Esta falla, identificada como CVE-2023-45866, forma parte de la especificación 'Mecanismo de emparejamiento sin autenticación' y la ha descubierto el experto en ingeniería inversa de Skyface Marc Newlin, quien ha explicado cómo ha dado con ella a través de GitHub.
El origen de este estudio se remonta a 2016, cuando Newlin hizo una investigación sobre vulnerabilidades de inyección de pulsaciones en ratones y teclados inalámbricos ('keylogger') de 17 proveedores diferentes.
Centrado en la técnica de hackeo MouseJack, profundizó en cómo funcionaban los protocolos inalámbricos personalizados que utilizaban los periféricos -como ratones o teclados- que no empleaban la conectividad Bluetooth.
Con el tiempo, Newlin también comenzó a investigar en el funcionamiento de este sistema de conectividad, momento en que se dio cuenta de que «no sabía casi nada» sobre él, ni tampoco sobre cómo funcionaba en los sistemas operativos macOS y iOS.
Al estudiar cómo funcionaba el Bluetooth en ellos, comprobó que existían vulnerabilidades 'keylogger' en ambos y que se podían explotar en modo de bloqueo, esto es, la protección opcional que ofrece Apple en móviles, tabletas y ordenadores.
Más tarde, volvió a encontrar vulnerabilidades similares en Linux y en Android, motivo por el que pensó que el error se debía a un fallo en la implementación del protocolo Bluetooth y no únicamente al sistema de seguridad que ofrece el fabricante de iPhone.
Tras leer las especificaciones del modelo estándar de esta tecnología de comunicación (HID), determinó que la vulnerabilidad funciona engañando al 'host' de Bluetooth para que se empareje con un 'keylogger' sin la confirmación del usuario gracias a ese mecanismo de emparejamiento sin autenticación.
Ahora, Newlin ha determinado que los dispositivos Android, iOS y macOS son vulnerables una vez se habilita la conectividad Bluetooth y, en estos dos últimos casos, también cuando se ha emparejado el dispositivo con un teclado inalámbrico Magic Keyboard, para iPhone y ordenadores Apple.
Los equipos con Linux, por su parte, quedarían expuestos a esta vulnerabilidad al emplear un adaptador Bluetooth estándar, de modo que, una vez que el atacante se ha emparejado con el dispositivo, puede inyectar 'keyloggers' para realizar acciones arbitrarias «siempre que estas no requieran una contraseña o autenticación biométrica» por parte del propietario del dispositivo.
El investigador ha matizado que para llevar a cabo este ataque no se requiere un 'hardware' específico y que se puede perpetrar desde un ordenador con sistema operativo Linux utilizando un adaptador Bluetooth normal.
Entre algunos de los dispositivos que registraron esta vulnerabilidad se encuentran Pixel 7 con Android 14, Pixel 6 con Android 13, pixel 4a con Android 13, Pixel 2 con Android 10 y 11, Nexis 5 con Android 6.0.1 y BLU DASH 3.5 con Android 4.2.2.
Los equipos en riesgo por este mismo problema en el sistema de Bluetooth de Apple son el iPhone SE con iOS 16.6, el MacBook Pro 2022 con macOS 13.3.3 (con chip M2) y MacBook Air 2017 con macOS 12.6.7 (Intel).
Las versiones de Ubuntu 18.04, 20.04, 22.04 y 23.10 también introducen esta falla. Linux, por su parte, ya ha lanzado un parche que mitiga la vulnerabilidad en BlueZ, el mismo que puede solucionar el error en ChromeOS, aunque Google ha indicado que su sistema operativo no es vulnerable.
Esta compañía también ha declarado que las soluciones para estos problemas, que afectan a terminales con las versiones que van de Android 11 a Android 14, ya están disponibles para los fabricantes afectados. Por último, los 'smartphones' Pixel recibirán dicha solución a través de actualizaciones OTA del actual mes de diciembre.