Un bug plus que gênant existe au niveau de Safari et d’une API JavaScript (IndexedDB) qui permet d’obtenir votre historique de navigation. Il est même possible de déterminer l’identité de l’utilisateur, révèle FingerprintJS.

Safari : un bug peut révéler votre historique et votre identité

Des fuites dans Safari avec l’historique de navigation

Avec ce bug, n’importe quel site utilisant IndexedDB peut connaitre les noms des autres bases de données IndexedDB qui ont été générées par d’autres sites sur Safari. C’est ainsi un moyen de connaitre l’historique de navigation récent. Les sites devraient normalement avoir uniquement accès à leur propre base de données .

Le problème va plus loin en réalité puisque certaines bases de données comportent des identifiants précis et non des identifiants générés aléatoirement. C’est notamment le cas de Google qui choisit l’identifiant unique de chaque utilisateur comme nom. Une personne malveillante peut alors exploiter le bug de Safari, récupérer l’identifiant lié à Google puis utiliser l’API du moteur de recherche pour obtenir des informations sur le propriétaire du compte.

FingerprintJS propose une proof-of-concept, c’est-à-dire une démonstration de faisabilité pour montrer que le bug existe bien. Il suffit de se rendre à l’adresse safarileaks.com avec Safari pour voir lister les derniers sites que vous avez visités. Et si vous êtes connecté à un compte Google, votre photo de profil va apparaitre.

Chrome, Firefox et les autres sont aussi concernés sur iOS

Ce bug concerne WebKit, le moteur de rendu de Safari. Il touche les utilisateurs sur iPhone et iPad qui ont iOS 15, et ceux sur Mac qui utilisent Safari 15. Le problème peut être temporairement contourné sur Mac en utilisant n’importe quel autre navigateur. La situation est plus délicate sur iPhone et iPad. En effet, Chrome, Firefox et d’autres navigateurs existent, mais tous utilisent WebKit et non leurs propres moteurs de rendu parce qu’Apple les oblige à passer par son système. Du coup, les navigateurs alternatifs sur iOS sont également concernés.

Il faut maintenant attendre un correctif d’Apple avec une mise à jour d’iOS. À noter que le bug a été signalé le 28 novembre dernier à Apple et il n’est toujours pas corrigé. Au vu du délai, FingerprintJS a rendu aujourd’hui publique l’information.