Tenable Research a dcouvert une vulnrabilit critique de divulgation d’informations dans Copilot Studio de Microsoft via une falsification de requte ct serveur (SSRF). Combine un contournement utile de la protection SSRF, les chercheurs ont pu accder l’infrastructure interne de Microsoft pour Copilot Studio, y compris l’Instance Metadata Service (IMDS) et les instances internes de Cosmos DB. Cette faille peut exposer des informations potentiellement sensibles concernant les internes du service avec un impact potentiel entre les locataires.
Annonc en 2023, Copilot Studio offre aux utilisateurs un moyen de personnaliser les assistants d’IA gnrative. Les utilisateurs peuvent adapter les outils « Copilot » et crer leurs propres outils d’IA gnrative. Il inclut l’accs des capacits et solutions conversationnelles, des GPT personnaliss aux plugins d’IA gnrative et au-del. Ainsi Copilot Studio permet de crer, tester et personnaliser rapidement des copilotes et des assistants d’IA, tout en disposant d’un contrle total sur ses copilotes autonomes.
Bas sur le principe du « glisser-dposer« , Microsoft Copilot Studio est techniquement un outil facile utiliser. Les Copilot personnaliss permettent d’effectuer une varit de tches de grand modle de langage (LLM) et d’IA gnrative en exploitant les donnes ingres partir de l’environnement Microsoft 365, ou toute autre donne que la Power Platform sur laquelle l’outil est construit.
Mais des chercheurs en scurit ont critiqu l’outil, le qualifiant de « bien trop autoris« . Ils ont dcouvert 15 problmes de scurit avec l’outil qui permettraient la cration de chatbots dfectueux. Rcemment, des chercheurs ont exploit une vulnrabilit dans l’outil Copilot Studio de Microsoft leur permettant d’effectuer des requtes HTTP externes. Ils ont pu accder ensuite des informations sensibles concernant des services internes au sein d’un environnement cloud, avec un impact potentiel sur plusieurs locataires.
Les chercheurs de Tenable ont dcouvert la faille SSRF (server-side request forgery) dans l’outil de cration de chatbot. Ils ont exploit pour accder l’infrastructure interne de Microsoft, y compris l’Instance Metadata Service (IMDS) et les instances internes de Cosmos DB. Repre par Microsoft sous le nom de CVE-2024-38206, la faille permet un attaquant authentifi de contourner la protection SSRF dans Microsoft Copilot Studio pour rcuprer des informations sensibles bases sur le cloud via un rseau.
Fonctionnement de la vulnrabilit CVE-2024-38206
La faille existe lors de la combinaison d’une requte HTTP qui peut tre cre l’aide de l’outil avec un contournement de la protection SSRF, selon Tenable. « Une vulnrabilit SSRF se produit lorsqu’un attaquant est en mesure d’influencer l’application pour qu’elle effectue des requtes HTTP ct serveur vers des cibles inattendues ou d’une manire inattendue« , a expliqu Evan Grant, chercheur en scurit chez Tenable.
Les chercheurs ont test leur exploit pour crer des requtes HTTP afin d’accder aux donnes et services cloud de plusieurs locataires. Ils ont dcouvert que « bien qu’aucune information inter-locataires ne semble immdiatement accessible, l’infrastructure utilise pour ce service Copilot Studio tait partage entre les locataires« .
Tout impact sur cette infrastructure pourrait donc affecter plusieurs clients, ajoute Evan Grant : « Bien que nous ne connaissions pas l’ampleur de l’impact que pourrait avoir un accs en lecture/criture cette infrastructure, il est clair que le risque est amplifi du fait qu’elle est partage entre les locataires. Les chercheurs ont galement constat qu’ils pouvaient utiliser leur exploit pour accder d’autres htes internes sans restriction sur le sous-rseau local auquel appartenait leur instance.
Les chercheurs de Tenable ont dcouvert la faille SSRF de l’outil lorsqu’ils ont examin les vulnrabilits SSRF dans les API pour Azure AI Studio et Azure ML Studio de Microsoft, que l’entreprise elle-mme a signales et corriges avant que les chercheurs ne puissent les signaler. Les chercheurs ont ensuite port leur attention sur Copilot Studio pour voir s’il pouvait galement tre exploit de la mme manire.
Microsoft a ragi rapidement la notification de la faille par Tenable, et celle-ci a depuis t entirement attnue, sans qu’aucune action ne soit requise de la part des utilisateurs de Copilot Studio, a indiqu l’entreprise dans son avis de scurit.
Voici le rapport de Tenable concernant cette dcouverte :
Exploiter une vulnrabilit de type SSRF avec l’aide de Copilot Studio
Contexte
Une vulnrabilit SSRF se produit lorsqu’un attaquant est en mesure d’influencer l’application pour qu’elle effectue des requtes HTTP ct serveur vers des cibles inattendues ou d’une manire inattendue.
Par exemple, une caractristique commune de nombreuses applications modernes qui traitent de l’analyse des donnes ou de l’apprentissage automatique consiste intgrer des donnes provenant de services externes. Pour ce faire, l’application doit effectuer des requtes HTTP pour se connecter aux API de ces services externes. Si un attaquant est en mesure de contrler la cible de ces requtes, il pourrait diriger la requte vers une ressource interne sensible laquelle l’application ct serveur a accs, mme si l’attaquant n’y a pas accs, rvlant ainsi des informations potentiellement sensibles.
Dans le contexte des applications cloud, une cible courante est l’IMDS, qui peut fournir des informations utiles et potentiellement sensibles pour un attaquant (Azure, AWS et Google ont tous leur propre version), le localhost ou une autre infrastructure interne. Pour cette raison, de nombreuses fonctionnalits qui pourraient potentiellement conduire des vulnrabilits SSRF bloqueront la fonctionnalit de cibler l’IMDS et les IP non routables, mais l o il y a des restrictions, il y a des contournements.
Copilot Studio HttpRequestActions
Copilot Studio de Microsoft est construit au-dessus de sa plate-forme Power Platform et, par consquent, est un produit qui vous permet de construire des Copilots personnaliss – des applications conversationnelles qui vous permettent d’effectuer une grande varit de modles de grand langage (LLM) et de tches d’IA gnrative en tirant parti des donnes ingres partir de votre environnement Microsoft 365 ou de toute autre donne laquelle votre environnement Power Platform a accs.
Lors de la cration d’un nouveau Copilot, vous pouvez dfinir des Sujets, qui vous permettent de spcifier des phrases cls qu’un utilisateur pourrait dire votre Copilot et qui pourraient amener l’IA rpondre de manire spcifique ou entreprendre certaines actions. Les chercheurs de Tenable ont remarqu que l’une des actions pouvant tre excutes, lorsqu’elle est dclenche par une phrase cl, est une requte HTTP.
Cette HttpRequestAction permet de contrler les en-ttes de requte HTTP, ce qui sera utile pour tester l’IMDS, puisqu’il ncessite des en-ttes de requte spciaux. Pour un premier test, et pour avoir une ide de l’aspect de la requte faite par le Copilot, ils ont ajout un en-tte l’HttpRequestAction et fait une requte l’instance de Burp Collaborator.
Burp Collaborator montre rapidement une requte faite partir d’une adresse IP Azure qui inclut l’en-tte de test, et quelques en-ttes non ajouts et qui sont associs aux services Azure.
Tester l’IMDS
Avec la possibilit de faire des requtes, ils ont de demander quelques ressources cloud, comme l’IMDS. En pointant la requte vers l’url http://169.254.169.254/metadata/instance?api-version=2021-02-01 et en envoyant la requte, ils n’ont obtenu qu’une rponse d’erreur systme.
Il en a t de mme lorsque lorsqu’ils ont utilis une valeur dcimale pour l’adresse IP (169.254.169.254 == 2852039166), ou lorsqu’ils ont demand un domaine qui se rsout en 169.254.169.254 au lieu de demander l’adresse IP directement.
Mais en pointant l’HttpRequestAction vers un serveur dont ils avaient le contrle, et configurant une rponse de redirection 301 qui pointe vers les htes restreints, les chercheurs ont obtenu une erreur 400 au lieu d’une rponse System Error.
Pour progrs dans ces tests, ils ont effectu les actions suivantes avec l’aide des outils de Copilot Studio :
- Dfinir l’en-tte de mtadonnes « true«
- Eliminer l’en-tte X-Forwarded-For en crant quelques nouvelles lignes supplmentaires la fin de la valeur « true«
- Combiner cela avec la redirection 301 vers 169.254.169.254
L’en-tte de mtadonnes tant ignore par l’IMDS, les chercheurs ont pu rcuprer les mtadonnes de l’instance dans un message de chat de Copilot;
Bien que ces informations ne soient pas trop sensibles en elles-mmes, ils ont galement pu rcuprer les jetons d’accs l’identit gre partir de l’IMDS. Ce jeton d’authentification peut tre exploit pour accder d’autres ressources internes.
Dcouverte d’une instance Cosmos DB
Avec un jeton d’accs pour https://management.azure.com/, les chercheurs ont pu vrifier quels accs d’autres ressources Azure ils ont obtenu. Une premire vrification a rvl que l’identit tait associe deux abonnements. Ensuite, ils ont vrifi les ressources Azure accessibles.
Pour l’un des deux abonnements, ils ont obtenu une rponse semblable la suivante :
Cela indique qu’une ressource Cosmos DB est disponible et les chercheurs ont pu obtenir les URL des points de terminaison de Cosmos DB. Ils ont eu accs aux cls matresses de Cosmos DB, pour obtenir des autorisations de lecture/criture. Fait intressant, cette instance de Cosmos DB n’est accessible qu’aux adresses IP appartenant l’infrastructure Microsoft, mais le Copilot personnalis fait partie de ces adresses.
Utilisation de Copilot pour accder la Cosmos DB interne
Pour resumer, avec l’aide de Copilot Studio, les chercheurs de Tenable ont obtenu :
- Une URL pour une instance interne de Cosmos DB, accessible uniquement l’infrastructure Azure interne.
- Les cls matresses de cette instance de Cosmos DB
- La possibilit de faire des requtes HTTP partir de Copilot, avec un contrle sur les en-ttes des requtes.
Pour accder Cosmos DB, ils ont fourni Copilot l’URL du point de terminaison du document, ainsi que les en-ttes d’autorisation et x-ms-data appropris. En utilisant du code node.js et les cls de la base de donnes Cosmos, il a t possible de gnrer un jeton d’autorisation valide, ainsi que l’en-tte x-ms-date associe.
Aprs avoir fourni tous les lments Copilot et envoy la requte, les chercheurs ont obtenu une rponse valide pour pouvoir exploiter la vulnrabilit SSRF de Copilot et obtenir un accs en lecture/criture cette instance interne de la base de donnes Cosmos.
Les chercheurs de Tenable commentent cette dcouverte en dclarant :
Nous avons test ce service partir de plusieurs locataires et confirm que, bien qu’aucune information inter-locataires ne semble immdiatement accessible, l’infrastructure utilise pour ce service Copilot Studio tait partage entre les locataires. Tout impact sur cette infrastructure pourrait affecter plusieurs clients. Bien que nous ne connaissions pas l’ampleur de l’impact que pourrait avoir un accs en lecture/criture cette infrastructure, il est clair que le risque est amplifi du fait qu’elle est partage entre plusieurs locataires. Nous avons galement dtermin que nous pouvions accder d’autres htes internes, sans restriction, sur le sous-rseau local auquel appartenait notre instance (10.0.x.0/24).
Une fois le problme signal, Microsoft a ragi rapidement et a commenc le rsoudre. Microsoft a attribu ce problme le numro CVE-2024-38206 et a communiqu son valuation Tenable en tant que problme critique de divulgation d’informations.
propos de Tenable
Tenable est la socit de gestion de l’exposition, exposant et comblant les lacunes en matire de cyberscurit qui rodent la valeur, la rputation et la confiance des entreprises. La plateforme de gestion de l’exposition alimente par l’IA de la socit unifie radicalement la visibilit, la perspicacit et l’action en matire de scurit travers la surface d’attaque, quipant les organisations modernes pour se protger contre les attaques de l’infrastructure informatique aux environnements cloud en passant par l’infrastructure critique et partout entre les deux.
Source : Tenable
Et vous ?
Pensez-vous que cette dcouverte est crdible ou pertinente ?
Quel est votre avis sur le sujet ?
Voir aussi :