CVE-2026-29783 in copilot-cli
Résumé
par VulDB • 09/06/2026
L’outil shell intégré à GitHub Copilot CLI dans les versions antérieures et incluant la 0.0.422 peut permettre l’exécution de code arbitraire via des motifs d’expansion de paramètres bash conçus pour exploiter cette faille. Un attaquant capable d’influencer les commandes exécutées par l’agent (par exemple, via une injection de prompt à travers des fichiers du dépôt, des réponses provenant d’un serveur MCP ou des instructions utilisateur) peut tirer parti des opérateurs de transformation de paramètres bash pour exécuter des commandes cachées, contournant ainsi l’évaluation de sécurité qui classe les commandes comme « en lecture seule ». Cette vulnérabilité a été corrigée dans la version 0.0.423.
La faille provient de la manière dont l’évaluation de sécurité du shell de l’interface CLI analyse et évalue les commandes avant leur exécution. La couche de sécurité analyse et classe les commandes shell comme étant soit en lecture seule (sûres), soit capables d’écriture (nécessitant une approbation utilisateur). Cependant, plusieurs fonctionnalités d’expansion de paramètres bash peuvent intégrer du code exécutable au sein des arguments de commandes autrement considérées comme « en lecture seule », leur donnant l’apparence d’être sûres tout en effectuant réellement des opérations arbitraires.
Les motifs dangereux spécifiques sont ${var@P}, ${var=value} / ${var:=value}, ${!var}, ainsi que les expansions imbriquées $(cmd) ou <(cmd) à l’intérieur de ${...}. Un attaquant capable d’influencer le texte des commandes envoyé à l’outil shell – par exemple, via une injection de prompt grâce à un contenu malveillant du dépôt (fichiers README, commentaires dans le code, corps des tickets), des réponses compromises ou malveillantes provenant d’un serveur MCP, ou encore des instructions utilisateur contenant des commandes obscurcies – pourrait réussir à exécuter du code arbitraire sur la station de travail de l’utilisateur. Cela est possible même dans les modes de permission exigeant une approbation utilisateur pour les opérations d’écriture, car les commandes peuvent sembler n’utiliser que des utilitaires en lecture seule tout en déclenchant finalement des opérations d’écriture. Une exploitation réussie pourrait entraîner un exfiltration de données, la modification de fichiers ou une compromission supplémentaire du système.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.