Rapporté par 9to5Mac, la société de sécurité FingerprintJS a publié vendredi un rapport sur un bug découvert dans la version iOS 15 du navigateur mobile Safari. Le rapport indique que ce bug « permet à n’importe quel site Web de suivre votre activité sur Internet et même de révéler votre identité ». Ce bug trouvé dans l’API utilisée et prise en charge par la plupart des navigateurs pourrait être utilisé par des attaquants pour découvrir de nombreuses choses sur vous.
Une API est utilisée par les développeurs pour connecter des parties du logiciel à d’autres logiciels, ce qui facilite le développement d’applications. Une de ces API, appelées IndexedDB, est prise en charge par la plupart des principaux navigateurs et contient ce que le rapport appelle « une quantité importante de données ». Comme l’explique FingerprintJS, IndexedDB respecte la politique « same-origin », qui empêche une origine d’interagir avec des données collectées par d’autres origines — essentiellement, seul le site Web qui génère les données peut y accéder.
Le bug présent dans iOS 15, iPadOS 15 et macOS permet à des sites Web de savoir quels autres sites un utilisateur visite sur d’autres fenêtres et onglets. Cela est possible parce que des sites comme YouTube, Google Agenda et Google Keep utilisent des « identifiants uniques propres à l’utilisateur » dans les noms de leurs bases de données. Par conséquent, les utilisateurs authentifiés peuvent être identifiés, car les sites susmentionnés créent des bases de données qui incluent l’ID utilisateur de Google appartenant à l’utilisateur, et des bases de données sont ouvertes pour tous les comptes utilisés.
L’ID utilisateur de Google conduit un attaquant à une multitude de données personnelles. Chacune d’entre elles peut être utilisée pour identifier un compte Google spécifique et, en combinaison avec les API de Google, elle peut, au minimum, révéler votre photo de profil à un hacker. Il pourrait également aider le hacker à obtenir des informations beaucoup plus personnelles et à démêler les « comptes distincts multiples » détenus par le même utilisateur.
Malheureusement, pour obtenir vos informations personnelles, vous n’avez pas besoin d’effectuer une action spécifique, comme l’indique le rapport : « Un onglet ou une fenêtre qui fonctionne 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 ».
IndexedDB en cause
FingerprintJS a vérifié les 1 000 sites les plus visités par Alexa et a constaté que 30 d’entre eux interagissent avec IndexedDB directement sur leur page d’accueil, sans aucune interaction ou authentification requise par l’utilisateur. Même si une personne utilise le mode privé dans Safari, si elle visite plusieurs sites Web en utilisant le même onglet, toutes les bases de données avec lesquelles elle a interagi sont divulguées aux sites que l’utilisateur visite ensuite.
Il n’y a pas grand-chose qu’un utilisateur de Safari puisse faire s’il utilise iOS 15 ou iPadOS 15. Une suggestion est de bloquer tout le JavaScript par défaut et de ne l’autoriser que sur les sites de confiance à 100 %. Les utilisateurs de Mac peuvent changer de navigateur pour échapper à ce bug, mais ce n’est pas une solution sur iOS 15 ou iPadOS 15.
Le bug a été soumis par FingerprintJS au WebKit Bug Tracker le 28 novembre 2021, en tant que bug 233548.
On ne peut qu’attendre sur iOS et iPadOS
Si vous voulez le vérifier sur votre iPhone ou iPad, ouvrez Safari, pointez-le sur safarileaks.com et suivez les instructions. Rapidement (trop rapidement), le nom du dernier site que vous avez visité apparaît (s’il s’agit de l’un des sites répertoriés sur la page de démonstration) et votre identifiant unique Google est accessible.
Franchement, la seule solution qui s’offre à vous est d’attendre qu’Apple mette à jour Safari sur iOS et iPadOS. Encore une fois, si vous utilisez un Mac, changer de navigateur est une option valable, mais ce n’est pas le cas avec iOS et iPadOS.