Des experts ont découvert une faiblesse dans la manière dont Chrome et Firefox interagissent avec Cascading Style Sheets 3 (CSS3), ce qui aurait pu donner accès à des données utilisateurs telles que les noms d’utilisateur, des photos de profil et des préférences (“j’aime”) émanant de sites tels que Facebook.
Cette découverte a été faite par hasard par le chercheur Ruslan Habalov, lors d’une visite sur Pinterest au cours de laquelle il a remarqué que ce dernier “affichait son nom Facebook et sa photo dans un bouton Facebook iFrame”.
En approfondissant, ils ont découvert que le problème provenait du mix-blend-mode du CSS3, introduit en 2016 et entièrement supporté par Chrome version bureau/mobile 49, à partir de mars 2016, et par Firefox version bureau/mobile 59, en mars de cette année.
En règle générale, la sécurité de la politique de même origine du navigateur aurait dû interdire l’accès au contenu iframe d’origine croisée. Cependant, la preuve de concept (PoC) qu’ils ont développée pour exploiter la faiblesse du mix-blend-mode, a court-circuité celle-ci.
Le mix-blend-mode ne semble pas être une cible de premier choix pour la fuite de données, mais, comme l’explique Dario Weißer, chercheur associé :
Nous ne pouvons pas accéder au contenu de l’iframe directement. Cependant, nous pouvons mettre des recouvrements sur l’iframe qui mettent en œuvre une sorte d’interaction graphique avec les pixels sous-jacents. Puisque ces superpositions sont contrôlées par le site du cybercriminel, il est possible de mesurer la durée de ces interactions graphiques.
L’implication est assez lourde. En effet, le mix-blend-mode est utilisé pour déduire le contenu de pixels 1×1 dans l’iFrame, afin de révéler la présence et la couleur de ce pixel sur l’écran de l’utilisateur. Effectuer cette tâche pour l’ensemble de l’iFrame (tant que l’utilisateur est connecté bien sûr) permet de reconstruire une partie de son contenu.
Cela rend la déduction de différents types de contenu potentiellement longue, avec un nom d’utilisateur qui devient clair après environ 20 secondes, mais cinq minutes sont nécessaires pour générer l’image du profil de l’utilisateur, qui quant à elle beaucoup plus grande.
Au final, un cybercriminel exploitant cette faille, en utilisant un site web malveillant aurait permis de déanonymiser les visiteurs connectés, non seulement sur Facebook, mais sur tout site intégré au niveau de sites tiers, à condition que les utilisateurs restent sur le site suffisamment longtemps.
D’autres cas d’utilisation incluent des fuites d’images personnelles, des réponses d’API et des fichiers texte d’autres sites, dans la mesure où ceux-ci nécessitent souvent d’être connectés mais ne disposent pas d’une protection iframe activée.
Les chercheurs décrivent le bug comme une faiblesse de type side-channel. En clair, cela signifie qu’ils ont trouvé un moyen d’accéder à des données non pas à partir d’un bug logiciel, mais en profitant d’un effet secondaire d’un système fonctionnant normalement.
Désignée sous le nom CVE-2017-15417, ce problème a été résolu en décembre dernier dans la version 63 de Chrome, et il y a seulement quelques semaines dans Firefox Quantum version 60, d’où sa divulgation. Les navigateurs Internet Explorer, Edge et Apple Safari ne sont pas affectés.
Bizarrement, le bug a été révélé à l’équipe open source Chrome de Google en 2017, après quoi il a été temporairement rendu public par accident, sans que personne ne s’en soit aperçu (nous l’espérons).
C’est un bug inhabituel mais à surveiller :
Nous avons seulement démontré le potentiel d’attaque contre Facebook. Cependant, à travers le web, il existe des tonnes d’autres ressources sensibles qui pourraient être affectées par de telles attaques, en suivant le même mode opératoire. Malheureusement, nous prévoyons de voir de plus en plus de ce genre de vulnérabilités à l’avenir.
Billet inspiré de Bizarre Chrome and Firefox flaw exposed Facebook details, sur Sophos nakedsecurity.
Qu’en pensez-vous ? Laissez un commentaire.