IA, modelage et Git : la découverte qui expose Vim et Emacs à l'exécution de code à distance

Publié 5 min de lectura 110 lecture

Au cours des dernières semaines, un chercheur en sécurité a obtenu ce qui semblait improbable : trouver des échecs qui vous permettent d'exécuter le code à distance dans deux des éditeurs de texte les plus anciens de l'écosystème libre, et cela en profitant du soutien d'un assistant IA pour analyser le code et générer des preuves conceptuelles. Le résultat n'est pas une vulnérabilité théorique : dans le cas de Vim, il suffisait d'ouvrir un fichier manipulé pour exécuter des commandes avec les privilèges de l'utilisateur, et dans GNU Emacs a été documenté une voie d'abus d'intégration avec Git qui peut également conduire à l'exécution de code lorsque vous travaillez sur des répertoires peu fiables.

La découverte à Vim a été décrite par Hung Nguyen, chercheur à l'entreprise de sécurité Calif, après avoir dit à l'assistant Claude de rechercher une défaillance de type CERs (exécution de code à distance) dans l'éditeur. L'assistant a examiné des parties du code source et a signalé des erreurs dans la façon dont Vim traite les appels de modèle (modélisation), les instructions intégrées dans le texte qui indiquent comment l'éditeur devrait se comporter avec un fichier. L'enquête a révélé l'insuffisance des contrôles de sécurité et un moyen d'éviter les restrictions de la soi-disant "sandbox", afin qu'un fichier spécialement préparé puisse conduire à l'exécution de commandes lors de l'ouverture. L'impact était clair : en ouvrant simplement un fichier malveillant, un attaquant pourrait exécuter des commandes avec les mêmes permissions que l'utilisateur exécutant Vim. Le problème a été signalé aux responsables et rapidement résolu; le correctif est inclus dans la version 92.0272 de Vim, et l'avis officiel peut être trouvé dans le bulletin de sécurité du dépôt Vim dans GitHub ( Avis de sécurité de Vim) ainsi qu'à l'entrée même du chercheur ( analyse publiée par Calif).

IA, modelage et Git : la découverte qui expose Vim et Emacs à l'exécution de code à distance
Image générée avec IA.

Le cas de GNU Emacs est différent en mécanique mais également inquiétant du point de vue de l'utilisateur. Nguyen a montré comment l'intégration d'Emacs avec les systèmes de contrôle de version (le module vc-git) active Opérations Git lors de l'ouverture des fichiers, permettant à Git de lire une configuration locale comme .git / config et d'exécuter l'outil défini dans la corvée. Option fsmonitor. Cette route permet à un fichier dans un fichier ou répertoire compressé avec un .git / caché déclenche l'exécution d'un programme lorsque l'utilisateur décompresse et ouvre le texte dans Emacs. En pratique, il suffit de livrer un fichier ou un paquet qui comprend un .git / config manipulé de sorte que le flux par défaut Emacs exécute le code sans signaux d'avertissement évidents. Les responsables d'Emacs ont souligné que l'action dangereuse est faite par Git, donc ils considèrent que la correction correspond à Git, mais l'observation du chercheur est que Emacs active automatiquement Git sans neutraliser les options dangereuses ou demander le consentement, laissant exposé aux utilisateurs qui ouvrent des fichiers dans des répertoires peu fiables. Le rapport technique avec les détails et les preuves conceptuelles est disponible dans le dépôt public de l'équipement ( papier sur Emacs) et l'option de configuration Git peut être lue dans la documentation officielle Git ( core.fsmonitor dans git-config).

Outre les détails techniques, cet épisode sert d'exemple de la façon dont les outils de l'IV commencent à transformer les travaux de recherche en sécurité : l'assistant Claude non seulement a localisé des comportements risqués dans le code, mais a aidé à itérer et polir des tests de concept pour générer des exploits reproductibles. Ce flux accélère l'identification du problème et permet une communication plus rapide avec les responsables, mais met également en évidence une double tension : la même capacité d'automatiser l'analyse et de générer du code est utile pour les défenseurs et les attaquants.

IA, modelage et Git : la découverte qui expose Vim et Emacs à l'exécution de code à distance
Image générée avec IA.

Pour les utilisateurs et les gestionnaires, il existe des recommandations pratiques immédiates. Dans le cas de Vim, la mise à jour de la version parché (9,2 0272) est la mesure la plus directe et la plus recommandée; l'étiquette de sortie se trouve dans le dépôt Vim de GitHub ( lancement avec le patch). Avec GNU Emacs, puisque la correction n'a pas été appliquée par les développeurs Emacs et que le vecteur dépend de Git, il convient de prendre des précautions : éviter d'ouvrir des fichiers à partir de sources non vérifiées sans les inspecter, décompresser les fichiers dans des environnements isolés, et configurer ou désactiver la vérification d'état de version automatique si vous travaillez avec du contenu externe. Pour ceux qui utilisent Emacs et veulent limiter l'interaction automatique avec le contrôle de version, la documentation de l'éditeur sur le contrôle de version est un point de départ pour ajuster le comportement ( Manuel Emacs : contrôle de version). Comme mesure supplémentaire, l'exécution d'éditeurs avec des privilèges minimums ou dans des conteneurs / bac à sable réduit l'impact de telles défaillances.

Au-delà des correctifs et des atténuations, l'anecdote soulève une plus grande question sur la conception d'outils qui agissent automatiquement sur des contenus potentiellement hostiles : les éditeurs doivent-ils supposer que tout répertoire est fiable et déléguer l'atténuation à d'autres couches (comme Git), ou doivent-ils d'abord neutraliser les options potentiellement dangereuses ? Le chercheur lui-même a proposé qu'Emacs puisse filtrer ou annuler les appels à Git qui permettent l'exécution des corvées. fsmonitor afin que les scripts contrôlés par un attaquant ne soient pas invoqués, une solution pratique qui réduit le risque même s'il ne remplace pas une correction Git.

Bref, la combinaison d'une recherche humaine et d'une accélération par l'IA a permis de découvrir et de réparer un grave échec à Vim et de démontrer une voie d'abus à Emacs qui se poursuit sans correction unanime. La leçon pour tout professionnel est de garder les éditeurs à jour, d'être prudent avec les fichiers reçus de sources inconnues, et d'envisager des restrictions supplémentaires (sandboxing, privilèges limités et examen préalable) lors du travail avec le contenu téléchargé. Pour ceux qui veulent approfondir les analyses originales, les recherches de Calif et les avis dans les dépôts pertinents sont disponibles dans les sources mentionnées.

Couverture

Autres

Plus de nouvelles sur le même sujet.