
Une équipe de chercheurs de l’Université du Wisconsin-Madison a téléchargé sur le Chrome Web Store une extension de validation de principe capable de voler des mots de passe en clair à partir du code source d’un site Web.
Un examen des champs de saisie de texte dans les navigateurs Web a révélé que le modèle d’autorisation grossier qui sous-tend les extensions Chrome viole les principes du moindre privilège et de la médiation complète.
De plus, les chercheurs ont découvert que de nombreux sites Web comptant des millions de visiteurs, notamment certains portails Google et Cloudflare, stockaient les mots de passe en clair dans le code source HTML de leurs pages Web, permettant ainsi aux extensions de les récupérer.
Origine du problème
Les chercheurs expliquent que le problème concerne la pratique systémique consistant à donner aux extensions de navigateur un accès illimité à l’arborescence DOM des sites sur lesquels elles se chargent, ce qui permet d’accéder à des éléments potentiellement sensibles tels que les champs de saisie des utilisateurs.
Compte tenu de l’absence de frontière de sécurité entre l’extension et les éléments d’un site, la première a un accès illimité aux données visibles dans le code source et peut en extraire n’importe quel contenu.
De plus, l’extension peut abuser de l’API DOM pour extraire directement la valeur des entrées au fur et à mesure que l’utilisateur les saisit, en contournant tout obscurcissement appliqué par le site pour protéger les entrées sensibles et en volant la valeur par programme.
Le protocole Manifest V3 introduit par Google Chrome et adopté par la plupart des navigateurs cette année limite les abus d’API, interdit aux extensions de récupérer du code hébergé à distance qui pourrait aider à échapper à la détection et empêche l’utilisation d’instructions eval conduisant à l’exécution de code arbitraire.
Cependant, comme l’expliquent les chercheurs, Manifest V3 n’introduit pas de frontière de sécurité entre les extensions et les pages Web, le problème des scripts de contenu demeure donc.

Télécharger un PoC sur le Web Store
Pour tester le processus d’examen du Web Store de Google, les chercheurs ont décidé de créer une extension Chrome capable d’attaquer par saisie de mot de passe et d’essayer de la télécharger sur la plateforme.
Les chercheurs ont créé une extension se faisant passer pour un assistant basé sur GPT qui peut :
- Capturez le code source HTML lorsque l’utilisateur tente de se connecter sur une page au moyen d’une regex.
- Abusez des sélecteurs CSS pour sélectionner les champs de saisie cibles et extraire les entrées utilisateur à l’aide de la fonction « .value ».
- Effectuez une substitution d’élément pour remplacer les champs obscurcis basés sur JS par des champs de mot de passe non sécurisés.

L’extension ne contient pas de code malveillant évident, elle échappe donc à la détection statique et ne récupère pas de code à partir de sources externes (injection dynamique), elle est donc conforme à Manifest V3.
Cela a permis à l’extension de passer l’examen et d’être acceptée sur le Web Store de Google Chrome, de sorte que les contrôles de sécurité n’ont pas réussi à détecter la menace potentielle.
L’équipe a suivi des normes éthiques pour garantir qu’aucune donnée réelle n’était collectée ou utilisée à mauvais escient, désactivant le serveur de réception des données tout en gardant uniquement actif le serveur de ciblage des éléments.
En outre, l’extension a été définie sur « non publiée » à tout moment afin qu’elle ne collecte pas beaucoup de téléchargements et a été rapidement supprimée du magasin après son approbation.
Potentiel d’exploitation
Des mesures ultérieures ont montré que parmi les 10 000 principaux sites Web (selon Tranco), environ 1 100 stockent les mots de passe des utilisateurs sous forme de texte brut dans le DOM HTML.
7 300 autres sites Web du même ensemble ont été jugés vulnérables à l’accès à l’API DOM et à l’extraction directe de la valeur saisie par l’utilisateur.

Le document technique publié par les chercheurs de l’Université du Wisconsin-Madison plus tôt cette semaine affirme qu’environ 17 300 extensions du Chrome Web Store (12,5 %) garantissent les autorisations requises pour extraire des informations sensibles des sites Web.
Plusieurs d’entre eux, notamment les bloqueurs de publicités et les applications de shopping largement utilisés, comptent des millions d’installations.
Parmi les exemples notables de sites Web de manque de protection mis en évidence dans le rapport figurent :
- gmail.com – mots de passe en texte brut sur le code source HTML
- cloudflare.com – mots de passe en texte brut sur le code source HTML
- facebook.com – les entrées des utilisateurs peuvent être extraites via l’API DOM
- citibank.com – les entrées des utilisateurs peuvent être extraites via l’API DOM
- irs.gov – Les SSN sont visibles sous forme de texte brut sur le code source de la page Web
- capitalone.com – Les SSN sont visibles sous forme de texte brut sur le code source de la page Web
- usenix.org – Les SSN sont visibles sous forme de texte brut sur le code source de la page Web
- amazon.com – les détails de la carte de crédit (y compris le code de sécurité) et le code postal sont visibles en texte brut sur le code source de la page

Enfin, l’analyse a montré que 190 extensions (certaines avec plus de 100 000 téléchargements) accèdent directement aux champs de mot de passe et stockent les valeurs dans une variable, ce qui suggère que certains éditeurs tentent peut-être déjà d’exploiter la faille de sécurité.
Breachtrace a contacté les entreprises mentionnées pour leur demander si elles envisageaient de remédier aux risques soulignés dans le document, et jusqu’à présent, nous avons reçu des réponses d’Amazon et de Google :
Chez Amazon, la sécurité des clients est une priorité absolue et nous prenons plusieurs mesures pour la protéger. Les informations client saisies sur les sites Web d’Amazon sont sécurisées.
Nous encourageons les développeurs de navigateurs et d’extensions à utiliser les meilleures pratiques de sécurité pour protéger davantage les clients utilisant leurs services. – Porte-parole d’Amazon
Un porte-parole de Google a confirmé qu’il étudiait la question et a souligné la FAQ sur la sécurité des extensions de Chrome qui ne considère pas l’accès aux champs de mot de passe comme un problème de sécurité tant que les autorisations appropriées sont correctement obtenues.