Le bug Safari divulgue les informations de votre compte Google, l’historique de navigation

leak

Il y a un problème avec la mise en œuvre de l’API IndexedDB dans le moteur WebKit de Safari, ce qui pourrait entraîner une fuite de l’activité de navigation en temps réel et même des identités des utilisateurs à quiconque exploitant cette faille.

IndexedDB est une API de navigateur largement utilisée qui est un système de stockage côté client polyvalent sans limite de capacité.

Il est généralement déployé pour mettre en cache les données d’applications Web pour une visualisation hors ligne, tandis que les modules, les outils de développement et les extensions de navigateur peuvent également l’utiliser pour stocker des informations sensibles.

Pour éviter les fuites de données provenant d’attaques de scripts intersites, IndexedDB suit la politique de « même origine », en contrôlant quelles ressources peuvent accéder à chaque élément de données.

Cependant, les analystes de FingerprintJS ont découvert que l’API IndexedDB ne suivait pas la politique de même origine dans l’implémentation de WebKit utilisée par Safari 15 sur macOS, ce qui entraînait la divulgation de données sensibles.

Ce bug de violation de la vie privée affecte également les navigateurs Web utilisant le même moteur de navigateur dans les dernières versions d’iOS et d’iPadOS.

Le problème dans Safari 15

En violant la politique de même origine, l’implémentation d’IndexedDB dans Safari 15 sur iOS, iPadOS et macOS permet à n’importe quel site Web de dessiner les noms de bases de données créés dans la même session.

Étant donné que les noms de base de données sont généralement uniques et spécifiques au site Web, cela revient essentiellement à divulguer l’historique de navigation à quiconque.

Pour aggraver les choses, certains noms de bases de données comportent des identifiants spécifiques à l’utilisateur (après la connexion), de sorte que cette fuite d’API pourrait potentiellement conduire à l’identification de l’utilisateur.

Impact et atténuation

Selon les analystes, identifier quelqu’un à travers cette faille nécessite de se connecter et de visiter des sites Web populaires tels que YouTube et Facebook, ou des services tels que Google Calendar et Google Keep.

La connexion à ces sites crée une nouvelle base de données IndexedDB et ajoute l’ID utilisateur Google à son nom. Lorsque plusieurs comptes Google sont utilisés, des bases de données individuelles sont créées pour chacun d’eux.

« Nous avons vérifié les pages d’accueil des 1000 sites Web les plus visités d’Alexa pour comprendre combien de sites Web utilisent IndexedDB et peuvent être identifiés de manière unique par les bases de données avec lesquelles ils interagissent », mentionne le rapport FingerprintJS.

« Les résultats montrent que plus de 30 sites Web 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. »

« 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. »

Dans certains cas où les sous-ressources créent des bases de données UUID (identifiants uniques universels), les systèmes de prévention du suivi de Safari interviennent pour bloquer la fuite d’informations. Cet effet d’atténuation secondaire positif est encore renforcé si des extensions de blocage des publicités sont utilisées.

Le mode privé de Safari 15 est toujours affecté, mais chaque session de navigation est limitée à un seul onglet. Par conséquent, l’étendue des informations susceptibles d’être divulguées est au moins limitée aux sites Web visités via cet onglet.

Notez que puisqu’il s’agit d’un problème dans WebKit, tout navigateur utilisant ce moteur particulier (par exemple, Brave ou Chrome pour iOS) est également vulnérable.

Pour déterminer l’impact du bug sur votre navigateur, vous pouvez visiter cette page de démonstration, qui reproduit la fuite d’API.

Safari sur iPadOS 15.2 perd l'historique de navigation
Safari sur iPadOS 15.2 qui fuit l’historique de navigation (EZpublish-france.fr)

La vulnérabilité a été signalée à WebKit Bug Tracker le 28 novembre 2021 et, au moment d’écrire ces lignes, elle n’est toujours pas résolue.

Une façon d’atténuer le problème jusqu’à ce que les mises à jour de sécurité soient disponibles consiste à bloquer tout JavaScript, mais il s’agit d’une mesure drastique susceptible de causer des problèmes de fonctionnalité sur de nombreuses pages Web.

Passer à un navigateur Web non basé sur WebKit est la seule solution viable, mais elle ne s’applique qu’à macOS. Sur les iOs et iPadOS, tous les navigateurs web sont concernés.