Firefox bloque le javascript des pages internes

Pour mitiger les potentiels problèmes XSS(cross-site scripting) dans Firefox, Mozilla a décidé de bloquer l’exécution de scripts inline et de fonctions eval pour les pages internes de type “about: pages” qui sont les passerelles vers les préférences et paramètres du navigateur.

Le navigateur Firefox a 45 pages de ce type hébergées localement, certaines d’entre elles sont listées ci-dessous:

  • about:config — panneau pour modifier les préférences sur Firefox et les paramètres critiques.
  • about:downloads — vos téléchargements récents faits avec Firefox.
  • about:memory — montre l’utilisation de mémoire de Firefox.
  • about:newtab — la page par défaut pour les nouveaux onglets.
  • about:plugins — liste tout les plugins ainsi que d’autres informations utiles.
  • about:privatebrowsing — ouvre une nouvelle fenêtre privée dans le navigateur.
  • about:networking — affiche les informations de réseau.

Il faut préciser que ce changement n’affecte pas comment les sites Internet interagissent avec le navigateur web Firefox, mais Mozilla promet “de surveiller et d’évaluer” l’utilisation de fonctions nocives dans les extensions de parti-tier et les autres mécanismes intégrés.

Firefox a désactivé le Javascript inline pour des raisons de sécurité

Comme toutes ces pages sont écrites en HTML/JavaScript et sont traitées dans le contexte de sécurité du navigateur, elles sont la cible idéale pour des attaques d’injection de code qui, si il y’a une vulnérabilité, permettent à des pirates distants d’injecter et d’exécuter du code arbitraire à l’insu de l’utilisateur.

Pour ajouter une première ligne de défense contre ces attaques d’injection de code, même quand il y’a une vulnérabilité, Mozilla a bloqué l’exécution de scripts inline. Ils ont fait cela en implémentant une politique de sécurité de contenu (Content Security Policies – CSP) stricte pour s’assurer que le code JavaScript s’exécute seulement quand il est téléchargé depuis une ressource interne en utilisant un protocole interne.

Pour effectuer cela, Mozilla a dû réécrire tout les traiteurs d’événements inline et déplacer tout les code Javascript dans des fichiers séparés pour toutes les pages internes.

“Ne pas permettre de script inline dans les pages internes limite la surface d’attaque d’exécution de code arbitraire et fournit une première ligne de défense contre les attaques d’injection de code,” a déclaré Mozilla dans un article publié le 15 Octobre.

Pas d’eval non plus!

Quand les pirates ne peuvent pas injecter de script directement, ils utilisent la fonction JavaScript eval() et des méthodes similaires pour tromper les applications ciblées et les forcer à convertir le texte en Javascript exécutable pour effectuer une injection de code.

Donc en plus des scripts inline, Mozilla a aussi supprimé et bloqué les fonctions similaires à eval. Ils pensent que ce sont d’autres outils dangereux car ils analysent et exécutent des chaines de caractères dans le même contexte de sécurité qu’eux même.

“Si vous exécutez eval() avec une chaîne de caractère qui pourrait être affecté par un parti-tier malveillant, vous pouvez exécuter du code malveillant sur la machine de l’utilisateur avec les permissions de la page web ou de l’extension,” a expliqué Mozilla sur MDN web docs.

firefox 69

Google partage la même idée, selon eux, “eval est dangereux à l’intérieur d’une extension car le code exécuté a accès à tout à cause des permissions de l’extension.”

Pour effectuer cela, Mozilla a réécrit toutes les utilisations de fonctions de type eval issues de contextes privilégiés du système et du processus parent dans le code de base de son navigateur Firefox.

En plus de cela, la compagnie a aussi ajouté des assertions eval() qui refuseront l’utilisation de la fonction eval() et des fonctions similaires dans les contextes de scripts qui ont un certain niveau de permissions, et informeront l’équipe de sécurité de Mozilla des nouvelles instances d’eval().

Si cet article vous a plu, jetez un œil à notre article précédent.

Poster un Commentaire

avatar
  S’abonner  
Notifier de