Une vulnérabilité d’Opera GX permettait l’installation silencieuse de mods et la fuite de données des pages
Des chercheurs en sécurité ont divulgué une faille dans Opera GX, la version gaming du navigateur d’Opera, qui pouvait permettre à un site malveillant d’installer un mod sans l’accord de l’utilisateur...
Des chercheurs en sécurité ont divulgué une faille dans Opera GX, la version gaming du navigateur d’Opera, qui pouvait permettre à un site malveillant d’installer un mod sans l’accord de l’utilisateur, puis de l’utiliser pour extraire certaines informations des pages consultées ultérieurement par la victime. Lors d’une démonstration de faisabilité, les chercheurs ont pu reconstituer l’adresse Gmail d’un utilisateur connecté après une seule visite, sans qu’aucun clic ne soit nécessaire.
Opera a déjà publié un correctif dans Opera GX version 130.0.5847.89. L’entreprise a indiqué n’avoir trouvé aucune preuve que la faille ait été exploitée dans la nature. Les utilisateurs exécutant la version actuelle sont protégés, et la page interne « about » du navigateur permet de vérifier la version installée. Opera n’a pas attribué de numéro CVE à cette faille.
Déroulement de l’attaque
Opera GX prend en charge les « mods », qui permettent de modifier les thèmes, les sons, les fonds d’écran et le style des sites. Bien que ces paquets soient distribués sous forme de fichiers .crx, il ne s’agit pas d’extensions complètes : ils n’exécutent pas de JavaScript et ne demandent aucune autorisation. Le problème résidait dans le processus d’installation : un site pouvait déclencher automatiquement le téléchargement et l’activation d’un mod, sans afficher de demande de confirmation. Les chercheurs ont montré que cette opération pouvait être effectuée discrètement au moyen d’une iframe masquée pointant vers le paquet du mod.
Une fois installé, le CSS d’un mod s’applique largement aux pages ouvertes par le navigateur. Cela permettait aux attaquants d’utiliser ce que l’on appelle l’injection CSS universelle. En combinant des sélecteurs d’attributs CSS avec des requêtes d’images vers un serveur contrôlé par l’attaquant, le mod pouvait tester le contenu d’une page par petites portions et déduire des valeurs sensibles caractère par caractère. Cette technique constitue une forme d’XS-Leak, ou fuite intersites.
Pour démontrer la faisabilité de l’attaque, les chercheurs ont ciblé une page de compte Google qui exposait une adresse e-mail dans son code HTML. Ils ont créé un vaste ensemble de règles, puis utilisé un script pour reconstituer la valeur à partir des requêtes déclenchées. Ils ont également relevé un autre effet secondaire : le chargement d’un fichier .crx en mode privé pouvait faire planter le navigateur et exposer les onglets ouverts, y compris dans Opera classique, bien que l’avis d’Opera se soit concentré sur le problème de vol de données.
Gravité et réponse
L’équipe chargée du programme de primes aux bugs d’Opera a d’abord évalué le signalement à un niveau inférieur, avant de le classer comme une vulnérabilité de gravité maximale et de verser la récompense maximale de 5 000 dollars. L’entreprise a indiqué que l’attaque aurait nécessité que la victime visite un site malveillant et reste sur la page suffisamment longtemps pour que l’installation du mod et la chaîne de redirections se terminent. Les chercheurs ont répondu que l’exploit pouvait s’exécuter suffisamment rapidement pour agir avant que l’utilisateur ne remarque la notification de suppression du navigateur.
Cette affaire montre comment une fonctionnalité conçue pour la personnalisation peut devenir un risque d’exposition des données lorsque sa portée dépasse la page d’origine. Dans ce cas, le CSS seul a suffi à créer une large voie de fuite dès lors qu’il circulait avec le navigateur au lieu de rester limité à un seul site.
