Un chercheur met en évidence le code vulnérable de Microsoft permettant un accès non autorisé aux fichiers sur votre PC

Un chercheur met en évidence le code vulnérable de Microsoft permettant un accès non autorisé aux fichiers sur votre PC

NLWeb de Microsoft : un aperçu

En mai 2023, lors de la conférence Build 2025, Microsoft a dévoilé une initiative innovante connue sous le nom de NLWeb, qui signifie « Natural Language Web ».Ce projet visait à faciliter les interactions intelligentes entre les agents IA et les sites Web, leur permettant d’effectuer des tâches complexes en interagissant directement avec les services en ligne.

Implications de NLWeb

Parmi les entreprises impliquées, Shopify et TripAdvisor ont exprimé leur soutien à ce concept, positionnant le NLWeb comme un élément clé de ce que Microsoft appelle le « Web agentique ».Cette vision promet un avenir où l’IA peut exécuter de manière autonome une gamme de tâches en ligne, simplifiant considérablement l’expérience utilisateur.

Découverte de vulnérabilités de sécurité

Cependant, des inquiétudes importantes ont émergé concernant la sécurité du framework NLWeb. Aonan Guan, chercheur en sécurité, et son collaborateur Lei Wang ont identifié une vulnérabilité de traversée de chemin dans le dépôt de code du projet open source. Leur découverte est issue d’un examen du dépôt GitHub de NLWeb, et plus particulièrement d’un fichier nommé. webserver/static_file_handler.py

Analyse technique de la vulnérabilité

La faille identifiée se situe dans un segment spécifique de code :

# The vulnerable code snippet safe_path = os.path.normpath(path.lstrip('/'))

racines_possibles = [ APP_ROOT, os.path.join(APP_ROOT, ‘site’, ‘wwwroot’), ‘/home/site/wwwroot’, os.environ.get(‘HOME’,  »), ]

# Plus loin dans le code…full_path = os.path.join(root, safe_path)

La première ligne de cet extrait semble anodine ; elle est conçue pour normaliser les chemins en éliminant les séparateurs inutiles et les références de niveau supérieur, un processus documenté dans la documentation officielle de Python. os.path.normpath()

Impact de la vulnérabilité

Bien que cette fonction soit utile, elle introduit une faille de sécurité. Selon Guan, elle ne parvient pas à empêcher les utilisateurs d’utiliser des techniques de navigation par répertoire, telles que les séquences, pour naviguer au-delà du répertoire web prévu. ../

Pour valider le problème, Guan a configuré un serveur local sur. En exécutant la commande, il a récupéré le contenu de, des informations vitales sur les systèmes UNIX contenant les détails des comptes utilisateurs. 0.0.0.0:8000 curl "http://localhost:8000/static/..%2f..%2f..%2fetc/passwd" /etc/passwd

Image : Aonan Guan

De plus, Guan a pu accéder à d’autres fichiers sensibles, notamment le fichier du projet, qui doit rester confidentiel car il contient des informations d’identification sensibles telles que des clés API. Ceci a été démontré par l’exécution de la commande. .env curl "http://localhost:8000/static/..%2f..%2f..%2fUsers//NLWeb/code/.env"

Réponse et recommandations de Microsoft

Suite aux conclusions de Guan, publiées le 28 mai, Microsoft a reconnu le problème le jour même et a mis en œuvre un correctif dans les 48 heures. La résolution impliquait plusieurs mesures essentielles :

  • Filtrage initial de toutes les instances de dans le chemin pour contrer les tentatives potentielles de traversée de répertoire. ..
  • Vérification que le fichier demandé a une extension acceptable, y compris des formats tels que.html, .css et.json.
  • Résolution du chemin absolu pour confirmer qu’il réside dans un répertoire racine autorisé, empêchant ainsi tout accès non autorisé.

Suite à cet incident, Guan souligne l’importance de mettre à jour immédiatement toutes les instances de NLWeb. Il souligne qu’à mesure que le concept de Web agentique se développe, il expose de nouvelles vulnérabilités, notamment en raison du risque d’interprétation involontaire de chemins de fichiers ou de commandes malveillants par le traitement du langage naturel s’il n’est pas géré avec la plus grande rigueur.

Vous pouvez trouver plus d’informations sur ce problème et le rapport de vulnérabilité complet sur Neowin.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *