Une extension très utilisée de Microsoft Visual Studio Code (VS Code) a discrètement exposé des millions de développeurs à un risque potentiel d’exfiltration de fichiers locaux par le biais d’une faille de type cross-site scripting (XSS).
Le problème touchait l’extension officielle Live Preview — téléchargée plus de 11 millions de fois — et permettait à des sites web malveillants d’interagir avec l’environnement localhost d’un développeur.
« Une requête non authentifiée provenant d’un site web malveillant peut énumérer les fichiers racine internes de la machine du développeur exécutant le serveur Live Preview », a déclaré OX Security, qui a mené l’étude.
La faille XSS de VS Code
Live Preview est une extension officielle de Microsoft pour VS Code qui permet aux développeurs de générer et de tester des applications web en local sans quitter l’IDE.
Pour activer cette fonctionnalité, l’extension exécute un serveur HTTP intégré sur la machine du développeur, généralement accessible via une adresse localhost.
Si cette architecture fluidifie les workflows de développement, elle signifie également que l’extension traite des requêtes web et interagit directement avec le système de fichiers local — ce qui rend indispensable une gestion sécurisée des entrées.
Le problème provenait d’une gestion incorrecte des entrées non fiables au sein du serveur Live Preview.
Plus précisément, dans les scénarios de « page inexistante », un paramètre appelé relativePathFormatted était renvoyé au navigateur sans assainissement approprié.
Comme cette valeur n’était pas échappée, des attaquants pouvaient injecter une charge utile JavaScript spécialement conçue dans la réponse, ce qui entraînait une vulnérabilité XSS.
En pratique, si un développeur avait Live Preview en cours d’exécution et visitait un site web malveillant ou compromis, celui-ci pouvait envoyer des requêtes HTTP non authentifiées au serveur Live Preview local.
En raison de la faille XSS, les scripts injectés pouvaient s’exécuter dans le contexte du service localhost de confiance. Le contenu web externe pouvait ainsi interagir avec les ressources de développement internes.
Les chercheurs ont montré que ce comportement pouvait permettre à des attaquants d’énumérer les répertoires racine internes, d’accéder à des fichiers locaux sensibles tels que les fichiers de configuration .env, d’extraire des clés d’API et des mots de passe, ainsi que de récupérer du code source propriétaire.
Toutes les versions de Live Preview jusqu’à la version 0.4.16 sont concernées par la vulnérabilité.
Microsoft a depuis corrigé le problème dans son dernier correctif en assainissant correctement l’entrée concernée, mais tout système exécutant une version obsolète reste exposé à une éventuelle exfiltration de données.
Réduire les risques dans les environnements de développement
Les organisations doivent sécuriser les environnements de développement en appliquant les mises à jour et en mettant en œuvre des mesures de durcissement supplémentaires afin de réduire leur exposition.
Comme les postes de travail de développement stockent souvent du code source et des identifiants, le renforcement des contrôles de sécurité locaux peut contribuer à limiter l’impact de vulnérabilités similaires.
- Mettre à jour l’extension Live Preview vers sa dernière version et maintenir un programme rigoureux de gestion des correctifs pour les IDE, les extensions, les systèmes d’exploitation et les dépendances.
- Réduire la surface d’attaque en désactivant ou en désinstallant les extensions VS Code non essentielles et en désactivant les serveurs de développement locaux lorsqu’ils ne sont pas utilisés activement.
- Limiter l’accès aux services basés sur localhost à l’aide de pare-feu hôtes, de la segmentation réseau et de contrôles limitant les requêtes interorigines vers les ressources locales.
- Mettre en œuvre un filtrage des sorties réseau et une surveillance du DNS afin de détecter ou de bloquer les connexions sortantes suspectes depuis les postes de travail des développeurs.
- Renforcer la sécurité des terminaux en déployant des EDR outils qui surveillent les activités anormales sur localhost, les accès inattendus aux fichiers et l’exécution inhabituelle de scripts.
- Protéger les données sensibles en utilisant des solutions sécurisées de gestion des secrets au lieu de stocker les identifiants dans des fichiers en clair tels que les configurations .env.
- Tester et mettre régulièrement à jour les plans de réponse aux incidents afin de garantir une détection et un confinement rapides, ainsi que la rotation des identifiants si les environnements de développement sont compromis.
Ensemble, ces mesures contribuent à limiter l’ampleur potentielle d’une compromission d’un environnement de développement tout en renforçant durablement la résilience face à des menaces similaires.
Outils de développement local et risques de sécurité
Cet incident met en évidence les enjeux de sécurité liés aux outils de développement modernes, notamment lorsque des fonctionnalités comme les serveurs locaux intégrés interagissent avec le système de fichiers local.
Alors que les extensions d’IDE continuent d’ajouter de nouvelles fonctionnalités, les organisations doivent appliquer des contrôles de sécurité cohérents aux postes de travail des développeurs, comme elles le font pour d’autres systèmes sensibles.
À mesure que les risques augmentent dans les écosystèmes numériques, les organisations adoptent des solutions zero trust pour réduire la confiance implicite entre les applications, les utilisateurs et les ressources locales.





