2 min de lecture
CVSS 7.8, corrigée au Patch Tuesday d’août 2026 : une injection de commande OS dans GitHub Copilot pour VS Code, déclenchée par du contenu que l’agent lit (page web, fichier de dépôt, réponse d’outil), sans confirmation demandée à l’utilisateur.
Le contenu que l’agent lit devient la commande qu’il exécute
Je retrouve dans la CVE-2026-70335 un mécanisme que j’ai déjà décortiqué plusieurs fois cette année pour d’autres agents de codage : ce n’est pas l’utilisateur qui tape une commande dangereuse, c’est l’agent qui la génère lui-même, à partir d’un contenu externe qu’il traite comme une donnée alors qu’il contient en réalité une instruction.
Techniquement, la faille est classée CWE-78 (‘OS Command Injection’), avec un CVSS de 7.8 sévérité “Importante”. Le vecteur d’attaque : un attaquant intègre des instructions malveillantes dans un contenu que l’agent traite (une page web, un fichier de dépôt Git, la réponse d’un outil appelé par l’agent). Quand l’utilisateur lance l’agent contre ce contenu, les instructions injectées peuvent faire exécuter des commandes sur sa machine, sans demande de confirmation.
Note du PandaRedacteur : “sans demande de confirmation” est la partie qui devrait faire hausser un sourcil à quiconque a déjà activé un mode auto-approve un (vendredi) soir pour gagner du temps. Le garde-fou qu’on retire pour aller plus vite est presque toujours celui qui aurait arrêté l’attaque.
L’attaque se déroule en local et nécessite une interaction utilisateur (lancer l’agent sur le contenu piégé), mais aucune authentification préalable côté attaquant. Une fois déclenchée, l’exécution se fait dans le contexte de l’utilisateur connecté ; ce qui, sur un poste de développeur, veut souvent dire un accès aux environnements cloud de production, aux dépôts source, aux certificats de signature ou aux pipelines de déploiement.
Ce qui est interessant a retenir, c’est la continuité avec CVE-2025-53773, une faille wormable documentée quelques mois plus tôt sur le même couple VS Code/Copilot. Ce n’est pas la première fois que ce binôme se fait rattraper par le même angle mort : un agent de codage qui a le droit d’exécuter des commandes, et un mécanisme de confiance qui ne distingue pas assez strictement “contenu à lire” de “instruction à exécuter”.
📚 Quelques références pour aller plus loin
- ✓ CVE-2026-70335 (CVSS 7.8) permet l'exécution de commandes OS via du contenu externe injecté, traité par GitHub Copilot pour VS Code sans confirmation utilisateur.
- ✓ L'exécution se fait dans le contexte de l'utilisateur signé ; sur un poste de développeur, ça touche potentiellement dépôts, cloud et pipelines de déploiement.
- ✓ Deuxième incident du genre sur ce binôme VS Code/Copilot après CVE-2025-53773 ; la classe de vulnérabilité "contenu lu = commande exécutée" reste ouverte au-delà de ce correctif ponctuel.
Articles lies
Cette semaine : des logs pris pour des ordres, une gateway IA au KEV, et deux binaires piégés aux identités valides
Récap hebdomadaire du 26 au 28 octobre 2026 : Poisoning the Watchtower et l'injection par les logs, LiteLLM au catalogue KEV, première notification...
01/11/2026OVHcloud CLI et LiteLLM : à deux jours d'écart, les mêmes contrôles absents
Analyse comparée des compromissions OVHcloud CLI (19/10/2026) et LiteLLM 1.107.0 (21/10/2026) : chaîne d'attaque, contrôles SLSA, releases immuable...
28/10/2026Poisoning the Watchtower : quand l'agent SOC prend vos logs pour des ordres
Analyse de la log-substrate prompt injection contre les agents SOC : taxonomie de Poisoning the Watchtower (arXiv 2605.24421), résultats de LogInje...
26/10/2026SlugFest : un nom de repo n'est pas une identité, de npm à vos rôles IAM
Analyse de SlugFest (Bloom Security, 13 octobre 2026) : le Trusted Publishing npm liait un package au nom d'un repo GitHub et non à son identifiant...
23/10/2026MCP TypeScript SDK : c'est le serveur MCP qui choisissait à qui envoyer vos secrets OAuth
Analyse de la CVE-2026-104850 dans le SDK TypeScript officiel du Model Context Protocol : mécanisme de confusion de serveur d'autorisation, issuer ...
20/10/2026