Improper Privilege Management in PebbleOS
Mis à jour :
Gestion défaillante des privilèges dans PebbleOS
Plusieurs appels système (syscalls) de l’OS Pebble permettent une élévation de privilèges ou un accès arbitraire en lecture/écriture mémoire, car ils ne valident pas correctement les arguments fournis par les applications tierces. Ces failles permettent à une application malveillante installée via le magasin d’applications de compromettre totalement la montre (écoute du microphone, blocage permanent de l’appareil).
Points clés :
- Vecteur d’attaque : Utilisation de syscalls non documentés mais accessibles via la table des symboles.
- Mécanisme : Les vulnérabilités permettent soit de détourner des pointeurs de fonction (ex:
sys_send_pebble_event_to_kernel), soit d’effectuer des lectures/écritures arbitraires en mémoire (ex:sys_accel_manager_get_num_samples,sys_data_logging). - Exploitation : L’attaquant peut contourner la fonction
prv_drop_privilegepour maintenir des droits élevés après l’exécution du code injecté. Les offsets mémoire nécessaires sont facilement identifiables selon la version du firmware.
Vulnérabilités : Bien qu’aucun identifiant CVE spécifique ne soit mentionné dans l’article, les failles concernent le manque de validation des entrées utilisateur dans les fonctions système suivantes :
sys_send_pebble_event_to_kernelsys_accel_manager_get_num_samplessys_event_service_client_subscribesys_data_logging_create/sys_data_logging_logsys_accel_manager_data_subscribesys_pebble_log
Recommandations :
- Mise à jour système : Mettre à jour le firmware vers la version v4.9.177 ou supérieure, qui corrige ces défauts de validation (voir PR #1280 et #1284).
- Sécurisation du noyau : Implémenter une validation stricte des pointeurs et des buffers fournis par les applications utilisateur au sein du noyau pour garantir qu’ils résident bien dans l’espace mémoire alloué à l’application.
