Un bogue dans le navigateur Safari d’Apple pourrait révéler votre historique Web récent et potentiellement votre identité à tout site Web que vous utilisez. Et tandis que les utilisateurs de Mac peuvent simplement passer à un autre navigateur, les utilisateurs d’iPad et d’iPhone n’ont pas de chance, car chaque navigateur alternatif est également impacté.
Dans un article de blog publié vendredi, le service d’empreintes digitales du navigateur FingerprintJS a expliqué la racine du problème, qui affecte Safari 15 pour Mac et toutes les versions sur iOS 15 et iPadOS 15.
Tout est lié à la façon dont WebKit implémente une API JavaScript appelée IndexedDB. Le bogue, qui a été signalé à WebKit le 28 novembre, signifie que même si un site Web ne devrait pouvoir voir que les bases de données IndexedDB qu’il a créées, il peut en fait voir celles générées par n’importe quel site Web pendant la session de navigation de l’utilisateur.
Comme ces entrées sont souvent uniques à chaque site Web, cela signifie qu’un site peut déterminer quelles autres pages vous visitez dans différents onglets ou fenêtres. « Un onglet ou une fenêtre qui s’exécute en arrière-plan et interroge continuellement l’API IndexedDB pour les bases de données disponibles peut savoir quels autres sites Web un utilisateur visite en temps réel », explique le message. « Alternativement, les sites Web peuvent ouvrir n’importe quel site Web dans une iframe ou une fenêtre contextuelle afin de déclencher une fuite basée sur IndexedDB pour ce site spécifique. »
Comme certains sites Web créent également des identifiants spécifiques à l’utilisateur dans les noms de base de données IndexedDB, cela signifie également que des acteurs malveillants pourraient utiliser l’exploit pour déterminer l’identité d’un navigateur apparemment anonyme.
Dans la vidéo ci-dessous, FingerprintJS utilise YouTube comme exemple. Une fois connecté, l’ID est modifié pour inclure une chaîne qui, avec un peu de démarches, peut être liée à une personne spécifique :
Les bases de données IndexedDB sont accessibles sans aucune intervention de l’utilisateur, ajoute le message, et l’activation du mode de navigation privée ne fermera pas non plus la faille.
Une analyse des 1 000 pages les plus visitées d’Alexa a révélé que plus de 30 « interagissent avec des bases de données indexées directement sur leur page d’accueil, sans aucune interaction supplémentaire de l’utilisateur ni besoin de s’authentifier ».
Cela ne semble pas trop mal, mais FingerprintJS pense que c’est pire qu’il n’y paraît. « Nous soupçonnons que ce nombre est nettement plus élevé dans des scénarios réels, car les sites Web peuvent interagir avec des bases de données sur des sous-pages, après des actions spécifiques de l’utilisateur ou sur des parties authentifiées de la page », poursuit le message.
Jusqu’à ce qu’un correctif soit publié, les utilisateurs de Mac peuvent simplement passer à un autre navigateur, mais une solution similaire n’est pas disponible pour les propriétaires d’iPhone et d’iPad inquiets car Apple exige que tous les navigateurs utilisent WebKit sur ses plates-formes mobiles, ce qui signifie que Chrome et Firefox sont également affectés.
« Une option peut être de bloquer tout JavaScript par défaut et de ne l’autoriser que sur les sites de confiance », explique le billet de blog, mais il ajoute que cela rend la navigation sur le Web « peu pratique ».
« La seule véritable protection consiste à mettre à jour votre navigateur ou votre système d’exploitation une fois le problème résolu par Apple », conclut le message. « En attendant, nous espérons que cet article sensibilisera à ce problème. »