
Un chercheur en sécurité a divulgué une faille de sécurité zero-day affectant Visual Studio Code. En exploitant cette vulnérabilité, un attaquant peut dérober les tokens d’authentification GitHub de la victime en un seul clic sur un lien malveillant. Le problème : il n’existe aucun patch de sécurité. Voici l’essentiel à savoir.
Un vol de jetons GitHub en un clic via github.dev
Même s’il est question de Visual Studio Code, il est important de préciser dès maintenant que cette faille de sécurité affecte github.dev, la déclinaison de Visual Studio Code accessible depuis un navigateur web. Elle permet de travailler sur des dépôts GitHub directement depuis un navigateur, d’un simple clic sur le bouton présent sur GitHub (voir l’image ci-dessous).
La vulnérabilité divulguée par le chercheur réside dans le mécanisme de transmission de messages de la webview sandboxée de VS Code. En effet, github.dev utilise un système de sandbox pour protéger l’utilisateur et limiter les risques d’exécution de code à distance.
Néanmoins, en incitant un utilisateur à cliquer sur un lien, un attaquant peut exécuter du code JavaScript malveillant au sein de cette webview. Ce script va ensuite parvenir à installer une extension malveillante dans l’éditeur principal et son objectif sera d’extraire le jeton d’authentification OAuth transmis à github.dev.
“Une fois la charge utile exécutée, l’extension nouvellement installée récupérera votre jeton API GitHub, puis interrogera l’adresse https://api.github.com/user/repos pour obtenir la liste des dépôts privés auxquels vous avez accès. Elle affichera ensuite cette liste ainsi que votre jeton dans une petite fenêtre d’information.”, explique Ammar Askar, le chercheur à l’origine de cette découverte.
Ce mécanisme d’authentification auprès de github.dev offre donc un accès complet à tous vos dépôts, et pas seulement celui sur lequel vous travaillez actuellement.
Encore un chercheur en colère contre Microsoft
Pour le moment, aucun identifiant CVE n’a encore été attribué à cette vulnérabilité, et aucun correctif officiel n’est disponible ! Mais alors, comment se fait-il que le chercheur a divulgué cette vulnérabilité ? Il s’agit d’un choix assumé à cause de mauvaises expériences passées avec le Microsoft Security Response Center (MSRC). Ce qui n’est pas sans rappeler un autre chercheur surnommé Nightmare Eclipse, à l’origine de la divulgation de plusieurs zero-day Windows (dont BlueHammer et YellowKey).
Concrètement, il a signalé la faille de sécurité à GitHub et, dans l’heure qui a suivi, il a publié son rapport et un code d’exploitation pour cette faille.
“Dans le passé, lorsque je leur ai signalé des bogues sur github.dev, ils m’ont répondu que c’était hors du périmètre et qu’il fallait le signaler au MSRC. Et comme je l’ai souligné dans l’article, je n’ai vraiment pas envie de traiter avec le MSRC pour les bogues de VSCode.”, ajoute-t-il.
Il explique également avoir vécu une “expérience horrible” avec le MSRC, notamment que sa vulnérabilité a été corrigée discrètement, sans jamais le créditer. Là encore, cela ressemble à une vengeance personnelle contre Microsoft.
Pas de correctif, un code d’exploitation disponible, attaque en 1-clic…. Pas très rassurant. Comment se protéger alors qu’il n’existe pas de correctif de sécurité ?
De son côté, Ammar Askar a eu la bonne idée de donner une piste. La méthode qu’il évoque consiste à effacer les cookies et les données locales stockées par le navigateur pour le site github.dev. Si vous n’avez pas utilisé ce mécanisme, vous n’aurez pas de données.
L’objectif, c’est de remettre en place les avertissements qui s’affichent lors d’une première tentative à github.dev. Cela vous protège d’une certaine façon, même si vous pouvez tout à fait décider de poursuivre, mais ce ne sera plus du 1-clic.
Voici les étapes à suivre :
Rendez-vous sur le site github.dev.
Cliquez sur l’icône de paramètres située dans la barre d’adresse de votre navigateur.
Allez dans la section “Cookies et données des sites” puis dans “Gérer les données des sites sur l’appareil”.
Supprimez l’ensemble des cookies et des données locales pour github.dev.
Cofondateur d’IT-Connect et Microsoft MVP “Cloud and Datacenter Management”. Mon obsession depuis près de 15 ans ? Rendre l’administration système et la cybersécurité accessibles, que vous soyez junior ou confirmé. Plus qu’un métier, l’IT est pour moi une véritable passion. J’accompagne au quotidien les sysadmins et les professionnels de l’IT dans leur montée en compétences et leur veille technique.
