De graves failles de sécurité découvertes dans les extensions populaires de Visual Studio Code pourraient permettre aux attaquants de compromettre les machines locales ainsi que de créer et de déployer des systèmes via l’environnement de développement intégré (IDE) d’un développeur.

Les extensions vulnérables pourraient être exploitées pour exécuter du code arbitraire sur le système d’un développeur à distance, ce qui pourrait finalement ouvrir la voie à des attaques de la chaîne d’approvisionnement.

Certaines des extensions en question sont «LaTeX Workshop», «Rainbow Fart», «Open in Default Browser» et «Instant Markdown», qui ont tous accumulé environ deux millions d’installations entre eux.

«Les machines de développement détiennent généralement des informations d’identification importantes, ce qui leur permet (directement ou indirectement) d’interagir avec de nombreuses parties du produit», chercheurs de la plate-forme de sécurité open-source Synk mentionné dans une analyse approfondie publiée le 26 mai. “La fuite de la clé privée d’un développeur peut permettre à une partie prenante malveillante de cloner des parties importantes de la base de code ou même de se connecter à des serveurs de production.”

auditeur de mot de passe

Extensions de code VS, comme les modules complémentaires de navigateur, permettent aux développeurs d’augmenter l’éditeur de code source Visual Studio Code de Microsoft avec des fonctionnalités supplémentaires telles que les langages de programmation et les débogueurs pertinents pour leurs flux de travail de développement. VS Code est utilisé par 14 millions d’utilisateurs actifs, ce qui en fait une énorme surface d’attaque.

Les scénarios d’attaque conçus par Synk mettent en avant la possibilité que les extensions installées puissent être utilisées abusivement comme vecteur d’attaques de la chaîne d’approvisionnement en exploitant les faiblesses des plugins pour pénétrer efficacement dans un système de développement. À cet effet, les chercheurs ont examiné les extensions VS Code qui avaient des implémentations vulnérables de serveurs Web locaux.

Dans un cas identifié par les chercheurs de Synk, une vulnérabilité de traversée de chemin identifiée dans Instant Markdown pourrait être exploitée par un acteur néfaste ayant accès au serveur Web local (aka localhost) pour récupérer tout fichier hébergé sur la machine en incitant simplement un développeur à cliquer sur une URL malveillante.

À titre de démonstration de validation de principe (PoC), les chercheurs ont montré qu’il était possible d’exploiter cette faille pour voler des clés SSH à un développeur qui exécute VS Code et qui a installé Instant Markdown ou Open in Default Browser dans l’EDI. LaTeX Workshop, d’autre part, a été jugé vulnérable à une vulnérabilité d’injection de commande en raison d’une entrée non analysée qui pourrait être exploitée pour exécuter des charges utiles malveillantes.

Enfin, une extension nommée Rainbow Fart a été vérifiée pour avoir un vulnérabilité de zip, qui permet à un adversaire d’écraser des fichiers arbitraires sur la machine d’une victime et d’obtenir l’exécution de code à distance. Lors d’une attaque formulée par les chercheurs, un fichier ZIP spécialement conçu a été envoyé sur un point de terminaison “import-voice-package” utilisé par le plugin et écrit à un emplacement situé en dehors du répertoire de travail de l’extension.

«Cette attaque pourrait être utilisée pour écraser des fichiers comme ‘.bashrc’ et obtenir éventuellement l’exécution de code à distance», ont noté les chercheurs.

Bien que les failles des extensions aient été corrigées depuis, les résultats sont importants à la lumière d’une série d’incidents de sécurité qui montrent comment les développeurs sont devenus une cible d’attaque lucrative, avec les acteurs de la menace libérant une variété de logiciels malveillants pour compromettre les outils et les environnements de développement pour d’autres campagnes.

“Ce qui était clair pour les dépendances tierces l’est également désormais pour les plugins IDE – ils présentent un risque inhérent à une application”, ont déclaré les chercheurs de Synk Raul Onitza-Klugman et Kirill Efimov. “Ils sont potentiellement dangereux à la fois en raison de leurs morceaux de code écrits personnalisés et des dépendances sur lesquelles ils sont construits. Ce qui a été montré ici pour VS Code peut également s’appliquer à d’autres IDE, ce qui signifie que l’installation aveugle d’extensions ou de plugins n’est pas sûre ( cela ne l’a jamais été). »



Leave a Reply