CVE-2026-82217 concerne les versions d’Eclipse Theia 1.73.0 à inférieures à 1.75.0. En mode IA « Agent Mode », les outils d’édition de fichiers — writeFileContent, suggestFileContent et les assistants associés de remplacement et d’état — résolvaient un chemin fourni par le modèle sans vérifier qu’il appartenait à l’espace de travail. Un ../.bashrc relatif, un chemin absolu ou une expansion ~ permettaient d’écrire ou de supprimer des fichiers en dehors de l’espace de travail avec les privilèges système de l’utilisateur du backend. En mode Agent, ces modifications s’appliquent sans boîte de dialogue de confirmation. Écrire dans ~/.ssh/authorized_keys ou dans un fichier de démarrage du shell fait grimper cela jusqu’à l’exécution de code sur le backend. Le CVSS 3.1 est de 8.8, attribué par NVD plutôt qu’auto-évalué.

Le correctif que personne ne pouvait voir

L’avis renvoie à un seul commit. Ce commit appartient à une pull request intitulée « ai-ide: add Memory prompt capability ». Il touche bien les fichiers vulnérables — file-changeset-functions.ts et workspace-functions.ts — mais, au vu de son titre et de sa description, il s’agit d’une fonctionnalité. Un administrateur lisant les notes de version de la 1.75.0 n’obtenait aucun indice qu’une mise à niveau avait fermé une chaîne allant du path traversal à l’exécution de code à distance.

Les deux délais

Signalement à Eclipse : 24 juillet. Commit correctif : 11 août. Version l’intégrant : 27 août. Avis : 31 août. Les versions 1.73 et 1.74 vulnérables sont restées déployées pendant environ deux mois après le signalement, et le correctif est resté publiquement visible dans un dépôt ouvert pendant 20 jours avant la divulgation — lisible par quiconque compare les commits, invisible pour quiconque ne lit que les avis.

Ce que le raccourci omet

« Theia a corrigé une vulnérabilité » suggère qu’il a ajouté une vérification manquante. Le propre signalement d’Eclipse décrit en réalité un correctif incomplet : des garde-fous nommés ensureWithinWorkspace et resolveToUri existaient déjà dans la couche de résolution, et les outils les plus sensibles les contournaient. La protection était présente, mais pas appliquée là où elle comptait le plus — une autre forme d’échec, plus difficile à repérer lors d’une revue.

Pourquoi cela se généralise

Il ne s’agit pas d’une injection de prompt théorique. C’est une chaîne complète : contenu externe, sortie du modèle, chemin de fichier, écriture hors de l’espace de travail, code sur l’hôte — sans confirmation utilisateur, parce que l’application automatique fait partie du design. Tout IDE agentique qui combine un chemin fourni par le modèle avec une application automatique présente la même structure.