Une faille Windows récemment divulguée (CVE-2026-35603) permet à n'importe quel utilisateur non-administrateur de déposer un fichier de configuration malveillant dans le dossier partagé C:\ProgramData, où plusieurs assistants de codage basés sur l'IA lisent automatiquement les paramètres. Lorsqu'un administrateur lance ultérieurement l'un de ces outils — Claude Code, Cursor, Codex CLI ou Gemini CLI — le fichier malveillant est exécuté avec les privilèges système complets, donnant à l'attaquant le contrôle de la machine sans aucun avertissement.

Pourquoi ce problème est important

Les assistants de codage par IA sont devenus courants dans les pipelines de développement, et sont souvent exécutés avec des droits élevés pour accéder aux compilateurs, aux gestionnaires de paquets ou aux dépôts internes. La capacité d'injecter du code s'exécutant en tant qu'administrateur contourne le bac à sable (sandbox) habituel au niveau de l'utilisateur qui protège une station de travail. En pratique, un compte à faibles privilèges pourrait déposer un fichier, attendre qu'un administrateur lance l'assistant, puis faire exécuter à l'assistant des commandes arbitraires, modifier des fichiers système ou récolter des identifiants. L'impact varie d'un point d'ancrage silencieux pour un malware persistant à une prise de contrôle totale des stations de travail de l'entreprise.

Comment fonctionne la vulnérabilité

Les quatre outils partagent un choix de conception simple : ils stockent la configuration de la machine dans C:\ProgramData et chargent ces fichiers automatiquement au démarrage. Sur Windows, ce répertoire est lisible et modifiable par n'importe quel utilisateur standard. Les outils ne vérifient ni le propriétaire ni l'intégrité des fichiers avant de les analyser.

Outil Fichier de config attendu
Claude Code managed-settings.json
Cursor hooks.json
Codex CLI config.toml
Gemini CLI system-defaults.json

Un attaquant crée un fichier portant le nom exact que l'outil recherche, le place dans le dossier correspondant sous C:\ProgramData, et attend. Lorsqu'un administrateur ouvre l'assistant, le programme lit le fichier contrôlé par l'attaquant et exécute son contenu. Dans le cas de Codex CLI, la configuration malveillante peut également désactiver les bacs à sable de sécurité intégrés, élargissant davantage la surface d'attaque.

Anthropic, le fabricant de Claude Code, a déjà déplacé ses paramètres vers un emplacement protégé, comblant ainsi la faille pour ce produit. Les autres fournisseurs n'ont pas publié de correctif au moment du rapport de recherche, laissant leurs utilisateurs exposés.

Qui gagne, qui perd

  • Les attaquants bénéficient d'un chemin direct d'escalade de privilèges qui ne nécessite l'exploitation d'aucun bug de noyau ou code zero-day.
  • Les développeurs et les organisations qui comptent sur ces assistants pour leur travail quotidien font face au risque de vol d'identifiants silencieux, d'injection de code ou de déploiement de ransomware.
  • Les fournisseurs d'outils risquent d'endommager leur réputation et pourraient être tenus responsables si la faille n'est pas corrigée rapidement.

Le coût d'une violation peut être élevé : des clés SSH, des jetons cloud et des identifiants Git compromis peuvent ouvrir la porte à une compromission plus large du réseau. Même une seule station de travail compromise peut devenir un tremplin pour un mouvement latéral à l'intérieur d'un environnement d'entreprise.

Mesures d'atténuation que vous pouvez prendre dès aujourd'hui

En attendant que les fournisseurs publient des correctifs, les administrateurs peuvent renforcer la sécurité des dossiers eux-mêmes. Les commandes PowerShell suivantes, exécutées avec des droits élevés, créent les répertoires attendus (s'ils n'existent pas déjà) et les verrouillent de sorte que seuls le système et les administrateurs aient un accès en écriture :

# Create the directories
$paths = @(
    "C:\ProgramData\ClaudeCode",
    "C:\ProgramData\Cursor",
    "C:\ProgramData\openai\codex",
    "C:\ProgramData\gemini-cli"
)
foreach ($p in $paths) { New-Item -ItemType Directory -Path $p -Force }

# Remove inherited permissions and grant only the needed accounts
foreach ($p in $paths) {
    icacls $p /inheritance:r
    icacls $p /grant "SYSTEM:(OI)(CI)F" "Administrators:(OI)(CI)F" "Users:(OI)(CI)RX"
}

Après avoir appliqué les ACL (listes de contrôle d'accès), examinez les dossiers pour détecter tout fichier appartenant à un utilisateur standard. La présence d'un tel fichier est un indicateur fort que la machine a déjà été compromise ; dans ce cas, changez immédiatement toutes les clés privées, les jetons d'accès cloud et les identifiants de contrôle de version.

Ce qu'il faut surveiller

  • Correctifs des fournisseurs – Surveillez les notes de version des fournisseurs concernés. Le passage à un emplacement protégé ou une vérification de l'intégrité des fichiers de configuration neutraliserait le problème.
  • Mises à jour des outils de sécurité – Les plateformes de détection de points de terminaison (EDR) peuvent ajouter des signatures pour ce modèle spécifique de création de fichiers dans C:\ProgramData. Le déploiement de ces mises à jour peut fournir des alertes précoces.
  • Divulgations de la communauté – Les chercheurs en sécurité peuvent publier des exploits de preuve de concept (PoC) ou des scripts de détection qui peuvent être intégrés à la surveillance interne.

Contre-argument

Certains pourraient faire valoir que le risque est limité aux machines où plusieurs comptes utilisateurs existent, ou que les outils sont rarement exécutés avec des droits d'administrateur. Bien que ces facteurs réduisent la surface d'attaque, ils ne l'éliminent pas. De nombreux ordinateurs portables d'entreprise sont gérés de manière centralisée et accordent souvent des droits d'administrateur aux développeurs pour l'installation de compilateurs ou de SDK. De plus, un logiciel malveillant peut exploiter ce même dossier pour persister sur un système même sans déclencheur de niveau administrateur, en utilisant l'assistant IA simplement comme un vecteur d'exécution pratique.

À retenir

La CVE-2026-35603 démontre comment une décision de conception apparemment anodine — la lecture de la configuration à partir d'un dossier accessible en écriture par tous — peut devenir un puissant vecteur d'escalade de privilèges lorsque des outils d'IA sont impliqués. Tant que les fournisseurs n'auront pas corrigé cette faille, la seule défense fiable consiste à verrouiller les sous-dossiers de C:\ProgramData utilisés par ces assistants et à considérer tout fichier inattendu à cet endroit comme un signe de compromission. Ignorer ce problème laisse une voie directe aux comptes à faibles privilèges pour prendre le contrôle total d'une station de travail Windows.