lundi 9 mai 2005
Plus de détails sur la vulnérabilité d’exécution de code arbitraire
Hier, nous avons rapporté qu’ une vulnérabilité d’exécution de code arbitraire a été découverte dans Mozilla Firefox. Aujourd’hui, la fondation Mozilla a édité le communiqué de sécurité MFSA 2005-42, que nous recommandons vivement à tous nos lecteurs d’analyser attentivement. En résumé, il y a deux problèmes indépendants qui peuvent être combinés pour exécuter un code arbitraire sur l’ordinateur d’une victime : un concernant l’injection de code Javascript et un autre impliquant l’URL d’icône utilisée dans la boîte de dialogue d’installation d’un logiciel. Cependant, comme décrit ci-dessous, la capacité d’exécuter un code arbitraire n’est plus une menace pour la plupart des utilisateurs.
La première faille est la moins sérieuse, bien qu’elle puisse potentiellement conduire au vol de données sensibles et facilite l’exploitation de la deuxième faille. La vulnérabilité permet à un site hostile d’utiliser les cadres (frames) et Javascript pour injecter du code JavaScript dans un autre site. Ceci permet au site hostile de voler des données comme les cookies ou d’effectuer des actions telles que lancer la boîte de dialogue d’installation d’un logiciel sans être sur la liste des sites autorisés à installer un logiciel de l’utilisateur (notez que ceci ne permet pas au logiciel d’être installé sans une intervention de l’utilisateur). Cette faille affecte Mozilla Firefox et la suite Mozilla et peut être éliminée en désactivant le JavaScript.
La deuxième faille est plus sérieuse et implique la boîte de dialogue d’installation d’un logiciel, qui est utilisée pour demander à l’utilisateur s’il souhaite installer un logiciel (comme une extension) à partir d’un site Web. Dans Mozilla Firefox (mais pas dans la suite Mozilla), cette boîte de dialogue peut inclure une icône, donnée par le site sous la forme d’une URL d’un fichier image. En raison d’une vérification insuffisante, cette URL d’icône peut être en fait un bout de code Javascript, lequel est exécuté sans autre sollicitation. Puisque ce code est effectivement exécuté depuis la boîte de dialogue d’installation du logiciel, plutôt que depuis une page Web, il est exécuté avec les « pleins privilèges du chrome », ce qui veut dire qu’il peut faire tout ce que l’utilisateur faisant fonctionner Firefox peut faire, dont installer un logiciel ou supprimer des fichiers. C’est la faille la plus sérieuse, permettant l’exécution d’un logiciel, et elle affecte uniquement Mozilla Firefox. Elle peut être empêchée en désactivant l’installation des logiciels.
Seule, la deuxième faille peut uniquement être exploitée par un site de la liste des sites autorisés à installer un logiciel de l’utilisateur. Cependant, un site hostile peut combiner les première et deuxième attaques pour exécuter un code arbitraire s’il connaît les détails d’un des sites de la liste des sites autorisés. Dans une installation standard de Firefox, seuls les sites de Mozilla Update (update.mozilla.org et addons.mozilla.org) se trouvent sur la liste des sites autorisés par défaut. Ceci a permis à la fondation Mozilla d’appliquer un changement côté serveur qui empêche des attaquants d’exploiter la faille d’exécution de code en utilisant ses systèmes. Par conséquent, si vous n’avez pas ajouté de sites supplémentaires dans la liste des sites autorisés, vous n’êtes pas exposé à l’exploit d’exécution de code et ne l’êtes pas depuis hier. Cependant, vous serez toujours vulnérable à la faille moins sérieuse d’injection Javascript.
Le changement côte serveur fait à Mozilla Update et les solutions de contournement décrites dans le MFSA 2005-42 (si vous ne l’avez toujours pas lu, veuillez le faire) sont des mesures provisoires. Nous avons appris que la fondation Mozilla teste actuellement des versions qui incluent une meilleure solution à ce problème, ainsi nous comptons qu’une mise à jour de sécurité sera publiée sous peu.