Zero-day VS Code: un clic suffit pour voler tous vos depots GitHub

04.06.2026 3
Zero-day VS Code: un clic suffit pour voler tous vos depots GitHub

Une vulnerabilite zero-day dans Visual Studio Code permet aux attaquants de derober le token OAuth GitHub d'un developpeur en un seul clic - accordant un acces complet a tous les depots prives accessibles par ce compte. Le chercheur en securite Ammar Askar a publie l'exploit le 3 juin 2026 et a diffuse le code de preuve de concept sans passer par le processus officiel de securite de Microsoft. A l'heure actuelle, aucun correctif n'existe et aucun CVE n'a ete attribue.

Comment fonctionne l'exploit en un seul clic

L'attaque commence quand une victime clique sur un lien specifiquement concu pointant vers github.dev, la version de VS Code basee sur navigateur hebergee par Microsoft dans le cloud. Une fois la page chargee, le JavaScript malveillant incorpore dans le lien s'execute dans un Webview VS Code - un composant similaire a un iframe isole que VS Code utilise pour afficher l'interface des extensions et le contenu web.

Depuis ce Webview, le script malveillant exploite une faille dans l'API Window.postMessage() de VS Code pour simuler des frappes dans l'editeur principal. Ces frappes simulees sont utilisees pour installer silencieusement une extension VS Code malveillante. L'extension extrait ensuite le token OAuth GitHub que github.dev a recu lors de la connexion et l'envoie a l'attaquant. Avec ce token, l'attaquant peut interroger l'API GitHub et acceder a tous les depots accessibles par le compte de la victime - pas seulement celui qu'elle consultait.

Toute la chaine - clic, execution dans le Webview, installation de l'extension, extraction du token - prend quelques secondes et ne necessite aucune interaction supplementaire de la victime.

Pourquoi le modele de securite Webview de VS Code echoue ici

VS Code isole le contenu des Webviews pour empecher les extensions non fiables d'acceder directement a l'environnement de l'editeur principal. En theorie, l'isolation signifie qu'un Webview malveillant ne peut communiquer avec l'exterieur que via des canaux de messagerie soigneusement definis.

En pratique, le pont Window.postMessage() qui transmet les evenements clavier entre un Webview et l'editeur principal ne valide pas correctement l'origine ni l'intention de ces messages. L'exploit d'Askar alimente ce pont avec un flux de fausses frappes qui constituent des commandes terminal pour installer une extension - et VS Code les execute fidelement.

La vulnerabilite se trouve a l'intersection de deux choix de conception: la fonctionnalite de transmission des evenements clavier, et la confiance que VS Code accorde aux messages arrivant par ce canal. Desactiver completement les Webviews briserait une grande partie de l'ecosysteme d'extensions, il n'existe donc pas de solution de contournement simple.

Quelles donnees sont reellement en danger

Un token OAuth GitHub derobe a beaucoup plus de valeur qu'un simple mot de passe de depot. Les tokens OAuth fonctionnent au niveau du compte, ce qui signifie que l'attaquant herite de toutes les permissions du compte de la victime: lecture et clonage du code prive, envoi de commits malveillants, modification des configurations de pipeline CI/CD, acces aux secrets stockes dans les parametres du depot, et enumeration de chaque projet prive auquel contribue le developpeur - y compris ceux appartenant a son employeur ou a ses clients.

Pour les developpeurs travaillant sur des logiciels proprietaires, des outils internes ou des infrastructures sensibles, le vol d'un seul token peut se traduire par une fuite complete du code source, une attaque sur la chaine d'approvisionnement ou un acces persistent via une porte derobee aux systemes de production. L'attaque est silencieuse: la victime ne voit rien d'inhabituel pendant ni apres l'exploit.

Pourquoi le chercheur a contourne le processus de bug bounty de Microsoft

Askar a choisi la divulgation publique complete en raison d'un incident precedent avec le Centre de Reponse de Securite de Microsoft (MSRC). Selon son billet de blog, il avait precedemment signale une autre vulnerabilite VS Code via les canaux officiels. Microsoft a discretement corrige le bug dans une mise a jour ulterieure sans crediter Askar, sans publier d'avis de securite et sans reconnaitre l'impact securitaire de la faille. Il a considere ce resultat comme une violation du contrat implicite entre chercheurs et editeurs.

Cette fois, Askar a prevenu l'equipe de securite de GitHub exactement une heure avant la publication. Il n'a pas soumis de rapport au MSRC du tout. Il a egalement publie du code d'exploit fonctionnel avec son analyse, garantissant que les details techniques soient immediatement disponibles pour les defenseurs et la communaute de securite.

Microsoft a repondu par un communique indiquant que la societe "reste engagee a evaluer rapidement les problemes signales" et a livrer "des mesures d'attenuation, des conseils et des protections aussi rapidement que possible". La societe n'a pas reconnu la plainte specifique concernant le correctif non divulgue anterieurement, ni fourni de calendrier pour le correctif de la vulnerabilite actuelle.

Comment les developpeurs peuvent reduire leur exposition

En attendant qu'un correctif soit publie, l'etape immediate la plus efficace est de supprimer les cookies et les donnees du site local pour github.dev dans votre navigateur. Cela force une nouvelle invitation d'authentification lors de votre prochaine visite, ce qui declenche un avertissement visuel si une tentative d'exploit est deja en cours. Traitez toute invite d'installation d'extension VS Code inattendue - surtout si vous ne l'avez pas initiee vous-meme - comme un signal d'alarme et annulez immediatement.

Plus generalement, cet incident rappelle que les environnements de developpement manipulent des identifiants tres sensibles et que la surface d'attaque est plus grande que la plupart des developpeurs ne le supposent. Cliquer sur des liens dans des commentaires de revue de code, des messages de chat ou des e-mails menant a github.dev ou d'autres environnements IDE cloud constitue desormais un vecteur de risque significatif. Utiliser un VPN sur des reseaux publics ou non fiables reduit l'exposition a l'interception du trafic pouvant augmenter ce type d'attaque - par exemple en interceptant le token en transit ou en delivrant le lien malveillant via une reponse DNS manipulee.

Les developpeurs travaillant avec des depots sensibles devraient egalement auditer les portees de leurs tokens GitHub et envisager de renouveler les tokens OAuth actifs a titre de precaution, meme avant qu'un correctif soit disponible. Les politiques de moindre privilege - limitant ce a quoi chaque token individuel peut acceder - reduisent l'impact si un token est compromis.

Étiquettes: cybersecurity security internet security usa

À lire aussi