Alerte de jour zéro dans Visual Studio Code: Un seul clic pourrait voler vos jetons GitHub

Auteur: Publié 5 min de lectura 147 lecture

Les images de cet article ont été générées par intelligence artificielle. Notre méthode de publication

Un chercheur en sécurité a publié un code d'exploitation pour une vulnérabilité de zéro jour dans Visual Studio Code qui permet de voler des jetons d'authentification GitHub en un seul clic sur un lien malveillant. Selon l'analyse publique de l'auteur, l'échec abuse du système de vision Web et du passage de messages dans VS Code pour exécuter JavaScript dans une vue ivre, simuler des pulsations clés et forcer l'installation d'une extension malveillante qui capture le jeton OAuth que github. dev reçoit de github.com.

Comprendre la technique est essentiel à l'évaluation des risques : C'est pas vrai. dev effectue un POST avec un jeton OAuth qui, selon le chercheur, ne se limite pas au dépôt spécifique, mais donne accès à tous les dépôts auxquels l'utilisateur peut accéder. Cela signifie qu'un attaquant qui obtient ce jeton peut consulter l'API GitHub pour lister et cloner des dépôts privés, pivoter ou extraire des secrets stockés en code. Le chercheur Ammar Askar a publié une analyse et la preuve de concept sur son blog et sur GitHub montrant la chaîne d'exploitation; le détail technique peut être lu dans son article et dans le dépôt avec le PoC: L'explication d'Askar et PoC à GitHub.

Alerte de jour zéro dans Visual Studio Code: Un seul clic pourrait voler vos jetons GitHub
Image générée avec IA.

Du point de vue de la classification de vulnérabilité, Microsoft et d'autres fournisseurs considèrent un défaut comme zéro jour lorsqu'elle est divulguée publiquement ou exploitée activement sans patch officiel; Microsoft documente ce critère dans son guide de gestion de la vulnérabilité: Quelle journée zéro. Dans ce cas, l'échec n'avait ni CVE ni patch au moment de la publication, de sorte que la communauté devrait prendre des précautions immédiates.

Pour les utilisateurs et les équipes de développement, les implications pratiques sont directes : un simple clic sur un lien qui ouvre github. dev dans certaines conditions pourrait entraîner l'engagement de jetons avec un large accès. Les identifiants de jetons sont équivalents à des clés d'accès : leur exposition permet des actions au nom de l'utilisateur et peut affecter les dépôts privés, les intégrations automatisées et les déploiements qui dépendent de ces pouvoirs.

Mesures immédiates qui réduisent le risque alors qu'il n'y a pas de patch: fermer la séance sur github. dev et supprimer les cookies et les données du site local pour github. dev dans le navigateur, de sorte que la boîte de dialogue d'autorisation d'extension s'affiche à nouveau (cela nécessite une confirmation manuelle avant que l'extension ne reçoive un jeton). Évitez de cliquer sur des liens non vérifiés qui ouvrent VS Code ou github. dev à partir de courriels, de chats ou de sites Web; préfèrent ouvrir des dépôts à partir de l'interface Web de GitHub directement et, si vous devez utiliser github.dev, le faire à partir d'un profil de navigateur isolé.

Si vous soupçonnez un engagement, les actions de médiation devraient inclure la révocation de tout jeton personnel touché, la création de jetons de plus petite portée (en utilisant des jetons d'accès personnels « à grain fin » lorsque c'est possible) et la rotation des références utilisées par les scripts ou CI / CD. Vérifiez l'activité API et les dossiers de vérification dans votre compte ou organisation pour détecter les appels suspects et accéder aux dépôts. GitHub propose des guides sur la façon de garder des comptes et des jetons sûrs; consultez votre documentation pour connaître les procédures spécifiques de révocation et de vérification.

Alerte de jour zéro dans Visual Studio Code: Un seul clic pourrait voler vos jetons GitHub
Image générée avec IA.

Au niveau de l'organisation, le principe du privilège mineur devrait être appliqué : remplacer les jetons par des permis globaux par des permis minimums nécessaires, utiliser l'authentification multifactorielle obligatoire (AMF), gérer l'accès par l'intermédiaire des fournisseurs d'OSP ou d'identité et vérifier les applications OAuth et les jetons autorisés dans les comptes d'équipement. Il est également recommandé de séparer les environnements de développement, de limiter la présence de secrets dans les dépôts et de surveiller les intégrations qui peuvent être abusées si un partenaire est engagé.

Cet incident rouvre également la discussion sur les processus de confiance et de divulgation responsable : l'enquêteur affirme que sa décision de publier immédiatement a été motivée par des expériences antérieures concernant le traitement des rapports par les canaux officiels. La tension entre la divulgation publique et la coordination avec les fournisseurs est récurrente et a des effets sur la sécurité collective; toutefois, jusqu'à ce qu'il y ait un patch, il incombe aux utilisateurs et aux gestionnaires d'atténuer les effets.

Bref, traiter cet événement comme un rappel que les jetons comptent autant que les mots de passe: maintenir de bonnes pratiques de gestion des références, supprimer les données de session de github. dev si vous ne faites pas confiance au lien, vous ouvrirez, révoquerez et tournerez les jetons lorsqu'il y a suspicion et appliquerez des contrôles d'accès plus stricts dans les organisations. Pour élargir la façon de protéger votre compte et de gérer les jetons, consultez la documentation officielle de GitHub sur la sécurité et l'authentification.

Couverture

Autres

Plus de nouvelles sur le même sujet.