A titre de preuve j'ai crée une page HTML qui affiche le répertoire dans lequel votre Firefox est installé.

Ne fonctionne qu'avec Firefox dans une version infèrieure ou égale à la 2.0.3.

L'exemple est ICI

Cet exemple n'est, en fait, pas une preuve réelle de la faille mais juste une introduction.

Dans mon exemple j'utilise

href="resource://gre/browserconfig.properties"

En effet, Firefox a le droit de naviguer dans les répertoires situés à cet endroit là sur le disque, or il est démontré qu'en remplaçant le / par un %5C, Firefox ne sanityze pas correctement l'input. Permettant ainsi à une page web mal intentionnée de vérifier la présence de fichiers n'importe où sur votre disque et éventuellement de les récupérer.

Exemple : Imaginons que vous avez un fichier de comptabilité dans c:\compta\compta.xls, une page web spécialement créée comportant 'href="resource://gre/..%5C..%5C..%5C..%5C..%5Ccompta%5Ccompta.xls"'', permettrait donc à un utilisateur mal intentionné de vous envoyer un lien vers cette page malicieuse, traversant ainsi les répertoires auxquels Firefox ne devrait pas avoir accès.

Quel serait le prix des informations ainsi récupérées s'il s'agissait de votre carnet d'adresses outlook ? Ou bien de la comptabilité de votre entreprise ? Ou bien la sauvegarde de la configuration de votre firewall ?

Car s'il est possible de traverser les répertoires à la recherche d'un fichier, il est possible de traverser les répertoires pour en lister le contenu.

EDIT : J'ai modifié la page HTML en lien afin de tenter d'explorer C/Program Files à la recherche d'un produit Symantec, d'un outil : putty et d'un exécutable qui n'existe pas : toto.exe. Ce ne sont que des exemples et je serai amené à ajouter d'autres exemples pour couvrir un maximum de possibilités

La nouvelle version de Firefox (2.0.4) devrait corriger ce problème.