Une faille dans Safari 15 permet de vous identifier et de vous traquer (màj)
- Medhi Naitmazi
- Il y a 3 ans (Màj il y a 3 ans)
- 💬 1 com
- 🔈 Écouter
Un bug dans l'implémentation du moteur WebKit d'une API JavaScript appelée IndexedDB peut révéler votre historique de navigation récent et même votre identité quand vous naviguez sur Internet via le dernier Safari, selon un billet de blog partagé par le service d'empreintes digitales de navigateur FingerprintJS.
Un bug dans la base de données gérée en local par Safari 15
Concrètement, le bogue permet à tout site Web qui utilise IndexedDB d'accéder aux bases de données générées par d'autres sites Web pendant la session de navigation d'un utilisateur. Ce bogue pourrait permettre à un site web de suivre les autres sites web que l'utilisateur visite dans différents onglets ou fenêtres, car les noms des bases de données sont souvent uniques et spécifiques à chaque url. Le comportement correct et normal devrait être que les sites Web ne peuvent accéder qu'à leurs propres bases de données IndexedDB, un endroit sanctuarisé aussi appelé sandbox en développement.
Mais il y a pire. Dans de nombreux cas, les sites utilisent des identifiants uniques propres à l'utilisateur dans les noms des bases de données IndexedDB. Par exemple, YouTube crée des bases de données qui incluent l'identifiant d'utilisateur Google authentifié d'un utilisateur dans le nom, et cet identifiant peut être utilisé avec les API de Google pour récupérer des informations personnelles sur l'utilisateur, comme une photo de profil ou sa date de naissance par exemple. Ces informations personnelles pourraient aider un acteur malveillant à déterminer l'identité d'un utilisateur et à se connecter à sa place.
Le bogue affecte les versions les plus récentes des navigateurs utilisant le moteur de navigation open source WebKit d'Apple, notamment Safari 15 pour Mac et Safari sur toutes les versions d'iOS 15 et d’iPadOS 15. Le bogue affecte également les navigateurs tiers comme Chrome sur iOS 15 et iPadOS 15, car Apple exige que toutes les applications utilisent WebKit sur l'iPhone et l'iPad. FingerprintJS a même publié une vidéo de démonstration du bug qui indique que les navigateurs plus anciens comme Safari 14 pour Mac ne sont pas affectés.
FingerprintJS a noté qu'aucune action de l'utilisateur n'est nécessaire pour qu'un site Web accède aux bases de données IndexedDB générés par d'autres sites Web.
Un onglet ou une fenêtre qui s'exécute en arrière-plan et interroge continuellement l'API IndexedDB pour connaître les bases de données disponibles peut apprendre quels autres sites Web un utilisateur visite en temps réel. Alternativement, les sites web peuvent ouvrir n'importe quel site web dans une iframe ou une fenêtre popup afin de déclencher une fuite basée sur IndexedDB pour ce site spécifique.
Même le mode de navigation privée ne protège pas contre le bug dans les versions de Safari concernées.
Les utilisateurs devront attendre qu'Apple corrige le bogue via des mises à jour logicielles. Embêtant car sur iOS et iPadOS, il n’y a aucune solution de contournement.
Enfin, le bogue a été signalé au WebKit Bug Tracker le 28 novembre.
Mise à jour du 19/01 :
Apple a depuis préparé un correctif pour le bogue, selon un commit WebKit sur GitHub, mais le patch ne sera pas disponible pour les utilisateurs tant qu'Apple n'aura pas publié les mises à jour de macOS Monterey, iOS 15 et iPadOS 15 avec une nouvelle version de Safari.