Les chercheurs en sécurité d'Armadin Inc. ont détaillé aujourd'hui une chaîne d'attaque qui exécute des commandes arbitraires en tant que root dans le bac à sable derrière Claude Cowork d'Anthropic PBC, échappant à la couche d'isolation, avec une deuxième faille supprimant les restrictions réseau censées la contenir.
Anthropic ne considère cependant pas cela comme un problème de sécurité. Armadin a signalé la chaîne le 20 mars et Anthropic a répondu le 24 mars qu'elle n'était pas admissible car pour la réaliser, il fallait qu'un attaquant ait déjà exécuté du code local sur la machine hôte. Armadin a validé la chaîne par rapport à Claude Desktop pour Windows version 1.9255.2.0.
Cowork est le produit d'Anthropic destiné aux travailleurs du savoir, automatisant les tâches non techniques et exécutant Claude Code dans un bac à sable pour ce faire. Sous Windows, le bac à sable est une machine virtuelle Ubuntu isolée par Hyper-V et enveloppée dans plusieurs couches de protection, notamment une communication sécurisée par signature, des utilisateurs non privilégiés par session, un filtre seccomp et un proxy qui restreint les domaines que la machine peut atteindre. Armadin a décidé d'exécuter tranquillement du code à l'intérieur de cette machine virtuelle en tant que root, sans limite de sortie.
Le point d'entrée était un service Windows appelé CoworkVMService, qui expose un canal nommé qui gère les requêtes adressées à la machine virtuelle. Le service vérifie la signature de tout programme qui s'y connecte et confirme que le sujet est anthropique avant d'accepter les commandes. Armadin n'a pas pu falsifier cette signature, il a donc emprunté un chemin différent. L'équipe a utilisé une technique appelée DLL sideloading, une méthode courante de l'équipe rouge qui charge le code contrôlé par l'attaquant dans un binaire légitimement signé, contre claude.exe lui-même.
Étant donné que claude.exe a chargé une bibliothèque système appelée USERENV.dll à partir de son propre répertoire avant de revenir à la copie authentique, un fichier malveillant portant le même nom et la bonne fonction exportée a été déposé à côté de l'exécutable et s'est exécuté dans le processus signé. Cela a hérité de la confiance que le service recherchait, donnant à Armadin un client valide.
À partir de là, les chercheurs ont reconstitué le jeu de commandes non documenté du service en lisant ses fichiers journaux et en fournissant des entrées mal formées pour voir quelles erreurs nommaient les champs attendus. La rupture provenait de deux paramètres de la commande qui génèrent des processus dans la machine virtuelle, que le service hôte a traversés sans les inspecter.
Le premier, un indicateur de reprise, obligeait normalement le démon à créer un nouvel utilisateur non privilégié pour chaque commande. Le définir sur true a ignoré cette vérification et a laissé Armadin exécuter une commande en tant qu'utilisateur existant, y compris root. Cela a renvoyé un shell avec toutes les fonctionnalités Linux et aucun confinement de profil et à partir de celui-ci, les chercheurs ont utilisé nsenter contre le premier processus pour sortir du bac à sable vers la machine virtuelle plus large.
Le deuxième paramètre a remplacé la liste d'autorisation du domaine pour chaque commande. Le définir sur un caractère générique désactive complètement le filtrage du réseau, ce qu'Armadin a confirmé en atteignant un serveur externe avec les blocs de configuration par défaut.
Combinés en une seule requête, les deux paramètres ont été exécutés en tant que root, ont échappé au bac à sable et ont exfiltré le fichier de mots de passe de la machine vers un hôte contrôlé par un attaquant. La limite que le service était censé imposer, à savoir que chaque client ne voyait que sa propre session, était entièrement laissée au client à respecter.
Cette divulgation constitue un argument plus large sur ce que les outils de productivité de l’intelligence artificielle ajoutent aux points finaux de l’entreprise. Armadin a noté que les machines virtuelles locales étaient historiquement une fonctionnalité des développeurs et que le fait d'en installer une sur des systèmes utilisateur non techniques crée des lacunes de visibilité dans lesquelles les produits de sécurité des points finaux ont du mal à voir.
Pour les organisations qui n'ont pas besoin de Cowork, l'entreprise recommande de désinstaller Claude Desktop, ce qui supprime le service. Lorsque cela est nécessaire, la « liste blanche » de l'application peut limiter les comptes qu'une charge utile de chargement latéral peut cibler et la surveillance des charges inattendues de USERENV.dll en dehors du répertoire système signale la technique.
Armadin est un nom familier. La société, dirigée par le fondateur et directeur général de Mandiant, Kevin Mandia, a levé en mars un record du secteur de la cybersécurité de 189,9 millions de dollars en financement de démarrage et de série A pour développer sa plateforme de simulation d'attaques basée sur l'IA.