En mai 2002, David Baron, un ingénieur de Mozilla, a découvert une faille de confidentialité dans le fonctionnement du web. Cette vulnérabilité se situe dans le sélecteur CSS :visited
du navigateur. C’est une fonction qui permet de styliser les liens hypertextes déjà consultés par l’utilisateur, c’est-à-dire ceux dont l’URL figure dans son historique de navigation. Le sélecteur permet de faciliter la navigation en indiquant à l’internaute les adresses qu’il a déjà lues. Bref, c’est pourquoi les sites que vous avez visités sont colorés en violet plutôt qu’en bleu.
À lire aussi : Cyberespionnage en cours sur Chrome – une faille permet de propager des virus et de piller vos données
L’historique de navigation en danger depuis les années 2000
Malheureusement, cette fonction a été détournée dans le cadre d’attaques d’history sniffing (ou “reniflage d’historique”). En clair, des sites se sont servis du sélecteur pour savoir quels sont les sites qui ont été consultés par l’internaute. Un site pouvait insérer dans la page une montagne de liens vers d’autres sites et utiliser le pseudo-sélecteur :visited pour vérifier si un lien avait déjà été cliqué. Comme les navigateurs appliquaient un style différent (par exemple, une couleur de texte), un script JavaScript pouvait tester la couleur d’un lien pour deviner si l’utilisateur l’avait visité. Cela permettait de reconstituer une partie de son historique de navigation, sans consentement.
Jeremiah Grossman, chercheur en sécurité et fondateur de WhiteHat Security, est l’un des premiers à avoir médiatisé la faille en 2006. Il a démontré comment un site pouvait, grâce au CSS et à JavaScript, détecter les liens visités par un utilisateur. En dépit des alertes des chercheurs, Google Chrome, le navigateur le plus utilisé au monde, a toujours refusé de corriger le tir, estimant à plusieurs reprises que le problème « ne se résout pas ». En fait, Google considéré que le bug est inextricablement lié à la manière dont le web fonctionne. En réaction, plusieurs navigateurs, à commencer par Firefox, ont pris la décision de colmater la brèche, mais sans corriger complètement celle-ci. Google souligne que les mesures prises « ralentissent les attaques, elles ne les éliminent pas ».
Google s’apprête à corriger la faille
Plus de 20 ans après la première divulgation, Google s’apprête enfin à prendre le problème au sérieux et à corriger la faille. Dans un billet de blog publié le 2 avril 2025, le géant de Mountain View commence par admettre qu’il y a eu « un nombre croissant d’attaques » exploitant le sélecteur CSS :visited
au fil du temps. C’est pourquoi Google a fini par accepter de se pencher sur ce bug, qui « affecte le Web depuis plus de 20 ans ».
Concrètement, Chrome va revoir la façon dont il gère les liens ayant déjà été consultés par l’internaute. Depuis toujours, le sélecteur :visited s’appuie sur une liste unique d’URL partagée par tous les sites. Résultat : si un usager a déjà visité une adresse, n’importe quel site pouvait le savoir en affichant un lien vers cette même adresse. Désormais, Chrome va partitionner le stockage de tous les liens visités par l’internaute. Le partitionnement « protège votre historique en n’affichant un lien comme visité que si vous l’avez déjà cliqué depuis le même site », détaille Google.
Si vous « n’avez jamais interagi avec ce site auparavant, ses liens ne seront pas stylisés ». Un lien sera marqué comme « visité » uniquement s’il s’affiche dans le même environnement que celui où il a été ouvert : même site, même adresse, même cadre d’affichage. S’il apparaît ailleurs, il sera considéré comme un lien neuf, même s’il a déjà été consulté. Le partitionnement consiste à stocker « les liens visités avec des informations sur l’endroit précis où ils ont été cliqués », comme le site ou le contexte d’affichage. Cette méthode empêche tous les sites de pouvoir consulter votre historique de navigation sans votre accord.
À lire aussi : Chrome est victime d’une faille critique de Google Lens, installez la mise à jour
Une exception à la nouvelle règle
Afin « d’améliorer l’expérience utilisateur », Google indique avoir prévu une exception pour les liens internes d’un site web. Un site peut marquer ses propres liens comme « déjà visités », même si l’utilisateur ne les a jamais ouverts dans ce contexte précis. De toute façon, les sites « disposent d’autres méthodes pour savoir si un utilisateur a consulté ses sous-pages, aucune nouvelle information n’est donc fournie ».
Ce changement d’envergure sera implémenté à partir de la version 136 de Chrome. Actuellement disponible en beta, cette itération sera déployée dès le 23 avril 2025. Google souligne fièrement que « Chrome est le premier navigateur à implémenter ces protections pour les utilisateurs ».
🔴 Pour ne manquer aucune actualité de 01net, suivez-nous sur Google Actualités et WhatsApp.