Un bug qui a touché Safari récemment est capable de divulguer certaines informations sur votre historique de navigation récent et même certaines informations sur le compte Google connecté. Il s'agit d'un blocage au niveau de l'implantation IndexedDB de Safari sur Mac et iOS, cela signifie qu'un site web peut voir les noms des bases de données pour n'importe quel domaine, pas seulement le sien. Les noms de base de données peuvent ensuite être utilisés pour extraire des informations d'identification d'une table de consultation.
Par exemple, les services Google stockent une instance IndexedDB pour chacun de vos comptes connectés, avec le nom de la base de données correspondant à votre ID utilisateur Google. Un site infâme pourrait récupérer votre identifiant d'utilisateur Google, puis utiliser cet identifiant pour découvrir d'autres informations personnelles vous concernant, car l'identifiant est utilisé pour faire des demandes d'API aux services Google. Dans la démonstration de preuve de concept , la photo de profil de l'utilisateur est révélée.
La preuve de concept ne conserve qu'une table de recherche d'environ 30 noms de domaine, mais il n'y a aucune raison pour que la technique ne puisse pas être appliquée à un ensemble beaucoup plus vaste. Presque tous les sites web qui utilisent l'API JavaScript IndexedDB pourraient être vulnérables à un tel grattage de données.
Le bug est simplement que les noms de toutes les bases de données IndexedDB sont disponibles pour n'importe quel site ; l'accès au contenu réel de chaque base de données est restreint. Le correctif et le comportement correct observé sur d'autres navigateurs comme Chrome, serait qu'un site web ne peut voir que les bases de données créées par le même nom de domaine que le sien.
Toutes les versions actuelles de Safari sur iPhone, iPad et Mac sont exploitables. FingerprintJS dit avoir signalé le bug à Apple le 28 novembre, mais il n'a pas encore été résolu.