
De son côté, dans un billet publié sur le site du Project Zero où il donne plus de détails, le chercheur a indiqué que la faille permet à un attaquant se trouvant sur le même réseau WiFi que l’appareil cible d’envoyer et d’exécuter du code sur ce dernier, sans aucune interaction de la part de la cible.
Le chercheur a développé un exploit PoC qui s’est basé sur des défauts dans l’implémentation de TDLS, un protocole permettant à des terminaux présents sur un réseau WiFi d’échanger des données sans passer par le point d’accès. Par un classique débordement de mémoire associé à des fonctions de roaming WiFi, Gal Beniamini parvient à injecter du code directement dans la mémoire du composant WiFi et à en prendre le contrôle.
Dans son exploit, il a utilisé des frames Wi-Fi contenant des valeurs irrégulières. Ces valeurs à leur tour ont provoqué un débordement de mémoire du firmware sur la puce de Broadcom. En utilisant des frames pour cibler les minuteries responsables de la réalisation d'événements réguliers tels que l'exécution de balayages pour les réseaux adjacents, Beniamini a réussi à écraser des régions spécifiques de la mémoire de l'appareil avec un shellcode arbitraire.
Le code de Beniamini ne fait rien d'autre que d'écrire une valeur bénigne sur une adresse de mémoire spécifique. Il est parvenu à exécuter à distance du code sur un smartphone Android (un Nexus 6P tournant sous Android 7.1.1) intégrant le composant vulnérable puis à élever ses droits depuis le SoC jusqu’au noyau du système. « En associant les deux, nous démontrons la prise de contrôle totale d’un terminal via la seule proximité WiFi, sans interaction de l’utilisateur », a-t-il expliqué, une manœuvre qui intervient sans que la victime ne puisse en avoir conscience.
Les attaquants pourraient évidemment exploiter la même série de défauts pour exécuter de manière subreptice des codes malveillants sur des dispositifs vulnérables à portée d'un point d'accès.
« Même si l’implémentation du firmware sur le SoC WiFi est incroyablement complexe, elle reste à la traîne en termes de sécurité. Spécifiquement, elle oublie toutes les formes d’atténuation d’exploit parmi lesquelles les cookies de la pile, la désassignation sécurisée et la protection des permissions d’accès (au moyen d’une unité de protection de la mémoire) », écrit le chercheur de Google.
Le chipset Broadcom contient une MPU (unité de protection de la mémoire), mais le chercheur a constaté qu'elle était implémentée de manière à rendre toute la mémoire lisible, aussi bien en écriture qu’en lecture. « Cela nous épargne bien des tracas », a-t-il écrit. « Nous pouvons facilement exécuter notre code directement ». Il a affirmé que Broadcom lui a assuré que les versions les plus récentes du chipset implémentent la MPU de manière plus efficace et ajoutent également des mécanismes de sécurité supplémentaires non spécifiés.
Compte tenu de la gravité de la vulnérabilité, les personnes ayant des dispositifs affectés devraient installer des correctifs dès qu'ils seront disponibles. Pour ceux qui ont des iPhone vulnérables, le processus est assez simple. Comme c'est souvent le cas pour les utilisateurs Android, il n'y a pas de moyen facile d'obtenir un correctif immédiatement : Google prépare son bulletin de sécurité pour le mois d’avril et, pour le moment, seuls quelques modèles d’appareils peuvent bénéficier du correctif.
En attendant, à l'heure actuelle, il n'est pas clair s'il existe des solutions de contournement efficaces pour les périphériques vulnérables.
Source : Project Zero, Chromium, support Apple
Voir aussi :


