Les extensions de Firefox sont vulnérables à un certain type d’attaque, qui leur permet d’appeler des fonctions présentes dans d’autres. Cet appel peut permettre de déclencher des actions qui mèneront à la récupération d’un malware notamment. Le souci n’est pourtant pas nouveau.
Firefox a beaucoup fait pour populariser les extensions. Ces petits compléments s’installent via un centre spécifique, qui permet de renforcer le navigateur, principalement par l’ajout de fonctionnalités. Prise de note, gestion des téléchargements ou encore évidemment blocage de publicités, beaucoup sont très utilisées et, comme on a pu le voir avec Edge, elles sont considérées comme partie intégrante d’un navigateur moderne.
Le modèle utilisé par Firefox se nomme XPCOM, pour Cross Platform Component Object Model. C’est lui qui permet aux extensions de s’ébattre gaiement dans le jardin préparé par Mozilla, lui qui définit également leurs capacités et donc leurs limites. Or, XPCOM manque justement de limites, puisque les extensions peuvent voir leurs fonctionnalités appelées par d’autres, d’une manière qui n’était clairement pas prévue.
Une infrastructure trop permissive
C’est le résultat des travaux menées par quatre chercheurs et présenté lors de la conférence Black Hat Asia. Ils ont montré que les extensions pouvaient en effet faire appel à des fonctionnalités précises dans d’autres pour servir de sombres desseins. Une extension peut prévoir de tels mécanismes, sans les incorporer elle-même. Conséquence, elle passe tous les tests de validation, dont ceux de sécurité.
La faille est globalement nommée « Extension-reuse vulnerability », même si elle représente plus un mécanisme global qu’une faille précise. Les chercheurs, dans leurs documents, expliquent qu’ils ont pu ainsi publier une extension baptisée « ValidateThisWebsite » et dont l’objectif principal était, comme son nom l’indique, de valider des sites web. Mais elle contient dans ses routines un appel à l’extension NoScript dont elle se servira pour ouvrir un onglet sur une adresse précise. On comprend évidemment la portée du problème.
Les extensions peuvent accéder à de nombreuses données
Car cette technique peut s’insérer facilement dans une chaine menant à la contamination d’une machine et/ou au vol d’informations personnelles. Si l’utilisateur récupère une extension qu’il ne connaît pas, provenant d’une source qu’il n’a pas contrôlée, il peut se retrouver avec le téléchargement d’un malware ou l’ouverture d’un lien pointant vers une page qui, elle, tentera d’exploiter une autre faille, par exemple dans Flash.
Pour donner une idée plus précise de ce qui cloche, les chercheurs indiquent : « Les extensions peuvent souvent accéder à des informations privées de navigation telles que les cookies, l’historique et les mots de passe, et même des ressources système. Par exemple, Firefox expose une API riche à ses extensions à travers XPCOM qui permet un accès presque illimité aux ressources système sensibles, comme le système de fichiers et le réseau. En conséquence, les extensions malveillantes, ou les attaques dirigées contre les extensions légitimes, posent un risque significatif de sécurité pour les utilisateurs. »
Presque tous les grands noms sont touchés
Et ce risque peut rapidement se manifester, car les extensions vulnérables sont nombreuses. Les chercheurs expliquent ainsi que sur les 2 000 les plus téléchargées, plus de 3 000 fonctionnalités sont ainsi appelables. En fait, dans le top 10 des plus utilisées, seule une ne contient aucune vulnérabilité de ce type : Adblock Plus. NoScript en contient 5, VideoDownloadHelper en contient 15 et Web of Trust en présente même 33.
Le vrai problème est qu’il n’existe en l’état rien à faire de particulier pour remédier à la situation. Les développeurs d’extensions peuvent éventuellement se pencher sur leur code et « blinder » leurs fonctionnalités, mais sans aucune garantie de succès. Car le souci se situe dans l’infrastructure sous-jacente, qu’il revient donc à Mozilla à corriger.
L’éditeur est au courant de la situation. Interrogé par Threatpost, Nick Nguyen, vice-président de la stratégie produit, a ainsi répondu : « La manière dont les extensions sont implémentées dans Firefox aujourd’hui permet le scénario présenté à la Black Hat Asia ». Il a cependant indiqué que Firefox serait équipé plus tard dans l’année d’une nouvelle infrastructure qui isolerait davantage les extensions et bloquerait donc ce type de problème.
Patienter le temps que Mozilla mette en place les WebExtensions
Car si certains se sont posés la question de la reproductibilité sur Chrome, ils ont peut-être été étonnés de ne pas voir le navigateur de Google cité. La raison est simple : ces vulnérabilités n’y existent pas. Et il n’y a aucun hasard dans l’annonce de Mozilla d’utiliser le même mécanisme via les WebExtensions. D’ailleurs, les dernières versions de Firefox ont commencé à mettre en place les briques fondatrices de cette nouvelle infrastructure, Mozilla ayant multiplié les appels aux développeurs pour qu’ils commencent à mettre à jour leurs extensions.
En attendant, il est simplement recommandé aux utilisateurs d’installer des extensions dont la source est connue et clairement établie. Ce n’est donc pas le moment de trop tenter l’aventure puisque s’ouvre désormais une période d’incertitude, avant que les WebExtensions ne prennent le relai dans les prochains mois
Commentaires (27)
#1
En fait, le fait que Mozilla force à court terme les Webextensions (qui font raler certains) est bien pour cette raison à mon avis.
#2
Après sur le store des extension pour Chrome, il y a à boire et à manger. Comme n’importe quelle app android. Je ne suis pas sûr que question confidentialité ou sécurité ça soit la panacée non plus.
#3
Je ne connais que très peu ce sujet mais XPCom n’étant qu’un modèle conceptuel ne serait-il pas possible de simplement mettre à jour la technique pour dire “maintenant l’application X ne peut plus appeler les fonctions de l’extension Y” ?
Ou serait-ce trop compliqué de mettre à jour le modèle conceptuel ?
A moins qu’ils ne se disent “autant en profiter pour migrer sur autre chose” d’où les webextensions.
#4
Merci pour cette news très avertissante.
Serait il possible de connaitre les autres extension touché par cette vulnérabilité ? Car le top 10 sur les milliers d’extension dispo c’est peu.
#5
#6
Pour le coup c’est une non nouvelle. On sait depuis toujours que ce genre d’exploitation de faille est possible et que c’est une conséquence du modèle très libre des extensions de Firefox.
#7
Aïe, aïe, aïe… Ouille, ouille, ouille !
Liste des extensions vulnérables du Top 10 listées dans l’article :
Sinon, en examinant le Top 2000 des extensions, ils ont déterminé qu’il y avait plus de 3018 vulnérabilités exploitables.
Autrement dit, c’est juste Aaargh !
#8
Il n’y a aps de raison particulière de paniquer : ces extensions ne sont pas vulnérables directement.
Elles ne peuvent être exploitées que si on a installé une autre extension malicieuse, ce qui a de toute façon toujours été un risque bien connu.
#9
Bah, si, un peu quand même : comment sait-on si une extension est malicieuse ou pas ?
#10
#11
Je comprends pas trop le véritable risque.
Si, pour etre malveillante, une extension a besion d’une autre elle meme malveillante, alors cette derniere pourrait de toute facon exécuter directement le code malveillant. Donc le fait que la premiere puisse faire appel à la seconde ne rajoute pas de risque supplémentaire ?
#12
“Aurait pu”, c’est la nuance !
Là tu as une extension qui contient du code qui “pourrait” etre mal utilisé, mais qui ne l’est pas, donc aucune raison de la bloquer, et de une deuxième extension qui n’a pas besoin d’inclure du code qui “pourrait” etre mal utilisé puisqu’il lui suffit d’aller piocher dans la première, donc aucune raison de bloquer la deuxième non plus.
Pour faire une analogie, imagine une app sur ton smartphone qui accède à tes contacts, elle te demande la première fois, si tu as confiance tu valides, jusque là tout va bien. Maintenant tu en installes un deuxième, qui ne te demande rien, mais qui via la première accède à tes contacts. (Évidemment cette faille là n’existe pas à priori " />)
#13
Pour DownThemAll!, de toute façon son sort est scellé, il ne sera pas porté sur le système de WebExtensions comme ses créateurs l’ont annoncé il y a longtemps (et il ne fonctionne plus très bien avec les dernières versions de Firefox).
#14
C’est une impossibilité technique ou c’est plus politique ?
Sachant que les WebExtensions touchent Firefox, Edge et sûrement Chrome c’est dommage…
#15
Je me suis toujours posé une question : Les extensions installées mais non activées sont vulnérables également ? Pas activée veut dire pas en mémoire ou ça ne change rien, le code est quand même installé dans Firefox ?
Dans le même ordre d’idée, on peut alléger son Firefox en désactivant les extensions ou il faut obligatoirement les désinstaller ?
#16
#17
#18
L’avenir c’est edge bloqué à sa version actuelle.
[]=>
#19
#20
Bon ben c’est dommage alors. Du coup je vais regarder si je ne peux pas trouver plus d’infos sur le sujet. Merci pour la réponse. " />
Après remettre tout en question ne serait pas un mal, je suis un grand fan du panda roux depuis plus de 10 ans et le pauvre commence à accuser certaines obsolescences, dont on constate aujourd’hui un des éléments apparemment dans sa conception même.
#21
La seule que j’utilise dans cette liste est Video Download Helper (qui devent de plus en plus chiante au passage). Il existe quoi comme alternatives ?
#22
#23
#24
#25
#26
D’un autre coté, un plugin ou une extension (deux choses différentes) qui ne sert pas, vaut mieux le/la supprimer.
#27