Les développeurs du projet GrapheneOS, qui développe une branche sécurisée de la base de code AOSP (Android Open Source Project), ont découvert une vulnérabilité dans la pile Bluetooth de la plateforme Android 14, qui pourrait potentiellement permettre l'exécution de code à distance. Le problème est causé par un accès à une zone de mémoire déjà libérée (use-after-free) dans le code de traitement du son transmis via Bluetooth LE.
La vulnérabilité a été identifiée grâce à l'intégration d'une protection supplémentaire dans l'appel de hardened_malloc, utilisant l'extension ARMv8.5 MTE (MemTag, Memory Tagging Extension), qui permet d'associer des étiquettes à chaque opération d'allocation de mémoire et d'organiser une vérification de la validité des pointeurs pour bloquer l'exploitation des vulnérabilités causées par des accès à des blocs de mémoire déjà libérés, des débordements de tampon, des accès avant initialisation et une utilisation hors contexte.
L'erreur apparaît depuis la mise à jour Android 14 QPR2 (Quarterly Platform Release), publiée début mars. Dans la base de code principale de la plateforme Android 14, le mécanisme MTE est disponible en option et n'est pas encore appliqué par défaut, mais il a déjà été activé dans GrapheneOS pour une protection supplémentaire, ce qui a permis de diagnostiquer l'erreur après la mise à jour vers Android 14 QPR2. L'erreur entraînait un crash lors de l'utilisation des écouteurs Bluetooth Samsung Galaxy Buds2 Pro avec un firmware intégrant la protection basée sur MTE. L'analyse de l'incident a révélé que le problème était lié à un accès à de la mémoire déjà libérée dans le gestionnaire Bluetooth LE, et non à une défaillance due à l'intégration de MTE.
La vulnérabilité a été corrigée dans la version GrapheneOS 2024030900 et concerne les compilations pour smartphones qui n'ont pas activé la protection matérielle supplémentaire basée sur l'extension MTE (MTE n'est actuellement activé que pour les appareils Pixel 8 et Pixel 8 Pro). La vulnérabilité se reproduit sur les smartphones Google Pixel 8 avec un firmware basé sur Android 14 QPR2. Dans Android pour les smartphones de la série Pixel 8, le mode MTE peut être activé dans les paramètres pour développeurs («Settings / System / Developer options / Memory Tagging Extensions»). L'activation de MTE entraîne une augmentation de la consommation de mémoire d'environ 3 %, mais ne réduit pas la performance.
Source : opennet.ru
