Une vulnérabilité non corrigée depuis 17 ans sous Firefox permet d'accéder au contenu d'un ordinateur

Barak Tawily, un chercheur en sécurité a partagé avec le site Internet The Hacker News une démonstration de faisabilité sur la dernière version de Firefox en exploitant une vulnérabilité non corrigée présente depuis 17 ans dans le navigateur.

L'attaque profite de la façon dont Firefox implémente la SOP (Same Origin Policy) selon l'identifiant uniforme de ressource (URI ou Uniform Resource Identifiers) "file://", permettant à tout fichier dans un dossier sur un système d'accéder aux fichiers dans le même dossier et sous-dossiers. La Same Origin Policy restreint en effet la manière dont un document ou un script chargé depuis une origine peut interagir avec une autre ressource chargée depuis une autre origine. Par exemple, deux pages auront la même origine si le protocole, le port (si spécifié) et l'hôte sont les mêmes pour les deux pages.

Dans la mesure où la politique de même origine pour le schéma de fichiers ne constitue pas une norme standard clairement définie, chaque navigateur et chaque logiciel l'ont implémentée différemment. Certains d'entre eux traitent tous les fichiers d'un dossier comme la même origine alors que d'autres au contraire traitent chaque fichier comme une origine différente.

Tawily a déclaré que Firefox est le seul navigateur majeur qui n'a pas changé son implémentation non sécurisée de Same Origin Policy (SOP) pour File URI Scheme au fil du temps.

Détails techniques :

Sur son blog, le chercheur reprend en détail les différentes étapes d'une attaque exploitant cette vulnérabilité :

  1. L'attaquant envoie un courriel à la victime avec le fichier joint à télécharger ou la victime navigue sur un site Internet malveillant et télécharge le fichier ;
  2. La victime ouvre le fichier HTML malveillant ;
  3. Le fichier qui charge le dossier contenant le dossier dans une iframe (le chemin d'accès est donc : file:////home/user/-malicious.html, et la source iframe sera file:///home/user/) ;
  4. La victime pense qu'elle clique sur un bouton sur le HTML malveillant, mais en fait elle clique sur le fichier html malveillant à l'intérieur du répertoire de l'iframe (en utilisant la technique ClickJacking, afin d'appliquer le "bogue de changement de contexte" qui permet d'accéder au contenu du dossier visé) ;
  5. L'iframe malveillante a maintenant des privilèges escaladés et peut lire n'importe quel fichier du dossier contenant le fichier malveillant (dans la plupart des cas, le dossier des téléchargements, ici le chemin est : file:////home/user/) ;
  6. Le fichier malveillant est capable de lire n'importe quel fichier sur son dossier (file:////home/user/), telle que la clé privée SSH en récupérant simplement le fichier URL:////home/user/.ssh/ida_rsa et en volant tout fichier par 1 requête  supplémentaire sur le site malveillant de l'attaquant avec le contenu des fichiers ;
  7. L'attaquant récupère ainsi tous les fichiers du dossier contenant le fichier malveillant.

Le chercheur aurait rapporté de manière responsable ses nouvelles découvertes à Mozilla mais sa réponse suggère que l'entreprise ne semble pas avoir l'intention de résoudre ce problème dans son navigateur dans un avenir proche.

Informations
+

Risques

  • Atteinte à la confidentialité des données
  • Atteinte à l'intégrité des données
  • Atteinte à la disponibilité des données
  • Exécution de code arbitraire.

Criticité

  • Score CVSS : N/A

Existence d’un code d’exploitation de la vulnérabilité

  • Une video détaillant l'exploitation a été diffusée ici.

Composants & versions vulnérables

  • Firefox 67.0.4 et toutes les versions antérieures.

CVE

  • N/A

 


Recommandations
+

Mise en place de correctif de sécurité

  • La version la plus à jour de Firefox ne corrige pas cette vulnérabilité.

Solution de contournement

  • Aucune solution de contournement n'a été proposée par le chercheur ou Mozilla mais ne pas utiliser le navigateur permet de ne pas exposer une machine à cette vulnérabilité.