Claude Code 2.1.231 et 2.1.232 : les redirections Bash sous permission, la sandbox colmatée

Les versions 2.1.231 et 2.1.232 ferment six failles de sandbox et de permission, mettent les redirections Bash sous permission, et font passer le fork de subagents en défaut.

claude-code changelog securite sandbox

Les versions 2.1.231 et 2.1.232 de Claude Code sont sorties le 13 août. La 231 ne contient qu'un correctif MCP OAuth, la 232 concentre l'essentiel : un vrai lot de correctifs de sécurité sur la sandbox et les permissions, plus le fork de subagents qui passe en défaut. Voici ce qui compte.

Les redirections Bash < fichier passent enfin sous permission

Jusqu'ici, une commande Bash utilisant une redirection d'entrée du type < fichier pouvait lire ce fichier sans passer par le même contrôle de permission qu'un chemin donné en argument classique. En 2.1.232, ces redirections sont vérifiées comme n'importe quel autre accès fichier, sur toutes les plateformes.

Concrètement, si un de tes hooks ou une automatisation comptait sur cette redirection pour lire un fichier sans prompt, attends-toi à une demande de permission qui n'existait pas avant. C'est le genre de changement invisible tant que tout se passait bien, qui ferme une vraie porte de contournement.

Un lot de correctifs qui ferme six trous distincts

La 2.1.232 regroupe plusieurs correctifs de bypass indépendants, tous dans le même lot :

  • PowerShell : un paramètre écrivant une variable pouvait écraser silencieusement $PSDefaultParameterValues et rediriger l'accès fichier des commandes suivantes sans passer par une permission. Corrigé.
  • Windows / Git Bash : Git Bash suivait les symlinks de style Cygwin, que la validation de chemin traitait comme des fichiers normaux. Une écriture à travers un tel symlink exige maintenant une permission.
  • Dépôts git imbriqués : un dépôt imbriqué héritait de la confiance accordée au dossier parent. Chaque dépôt exige désormais sa propre confirmation de confiance.
  • Sandbox Linux : un contournement de chemin protégé est corrigé (le changelog ne détaille pas le mécanisme exact).
  • Messagerie inter-sessions : le dossier socket auto-généré sur un /tmp partagé refuse maintenant un symlink pré-placé ou le dossier d'un autre utilisateur, au lieu de s'en servir.
  • Gateway : un groupe managed.policies[].match.groups ou admin.admin_groups vide, ou un email_domain malformé (vide, ou contenant @, un espace ou une virgule), fait maintenant échouer le démarrage au lieu de matcher silencieusement personne, ou pire, d'accorder un accès admin.

Ce dernier point mérite un temps d'arrêt : une configuration malformée qui accordait un accès admin sans le vouloir, plutôt que d'échouer bruyamment, c'est exactement le genre de bug qui reste invisible jusqu'à ce qu'il soit exploité.

Dans le même esprit, sandbox.ripgrep n'est plus honoré que depuis les settings utilisateur, gérés ou --settings. Un projet ne peut plus imposer son propre binaire ripgrep à la sandbox.

Le fork de subagents passe en défaut

Un subagent de type subagent_type: "fork" hérite maintenant de toute la conversation et du cache de prompt de la session qui l'a lancé, et ce comportement est actif par défaut. Autre changement lié : dans les sessions interactives, un spawn d'agent qui n'est pas un "teammate" tourne désormais en arrière-plan par défaut plutôt qu'au premier plan.

Si tu pilotais tes lancements d'agents en comptant sur un comportement au premier plan, vérifie tes flux après la mise à jour : ce n'est plus l'option par défaut.

Le reste, en vrac utile

  • 2.1.231 : l'OAuth MCP pour les serveurs utilisant un client pré-enregistré (Slack, par exemple) ne bloque plus sur une incompatibilité d'URI de redirection.
  • GitLab : rédaction ajoutée pour les familles de tokens GitLab (glrt-, gloas-, glptt-, glagent-, glimt-, glsoat-, glcbt-, glft-, glffct-), rédaction complète pour les tokens glpat-/gldt- routables, et la config du CLI glab reçoit les mêmes protections sandbox et chemin d'identifiants que gh. Les marketplaces de plugins acceptent aussi les URLs GitLab nues (sous-groupes imbriqués compris), comme pour GitHub.
  • Sessions nommées : taper @ dans le prompt permet de mentionner une autre session Claude par son nom, SendMessage la contacte alors directement, sans demander de confirmation préalable si le nom correspond à une seule session active. Deux sessions actives sur la même machine ne peuvent plus partager un nom identique (variante nom-mot-mot automatique).
  • Remote Control : une session hébergée par un bridge à l'intérieur d'une session cloud pouvait hériter du transcript ou des identifiants de cette session cloud. Corrigé, avec plusieurs autres correctifs de reconnexion et de reprise de session.
  • /code-review aux niveaux high, xhigh et max tourne désormais en agent d'arrière-plan, comme les autres niveaux.
  • /plugin install rafraîchit la marketplace avant d'installer : les plugins tout juste publiés s'installent sans mise à jour manuelle.
  • MCP : les connexions ne restent plus bloquées 30 secondes quand un serveur ne répond pas ou renvoie une réponse malformée à la sonde de version de protocole.
  • Cowork : les sessions n'incluent plus automatiquement les imports externes @ provenant des fichiers mémoire au niveau utilisateur.
  • Fable 5 de nouveau disponible comme advisor via /advisor pour les organisations qui y ont accès.

Faut-il mettre à jour

Oui, sans hésiter. Le lot de correctifs de sécurité justifie la mise à jour à lui seul, surtout le bug de configuration gateway qui pouvait accorder un accès admin sans le vouloir et le contournement de permission sur les redirections Bash. Le fork de subagents par défaut peut changer le comportement de tes automatisations existantes : vérifie-les après la mise à jour.

Source : changelog officiel Claude Code.

Pierre Rondeau

Pierre Rondeau

Développeur et indie builder. Je construis des produits et automatisations avec l'IA. Créateur de Claude Hub.

LinkedIn