10/12/2025

Logiciel - OS

Le patch pour la vulnérabilité CVE-2025-54100 peut avoir un impact sur vos scripts PowerShell

Les nouvelles mises à jour de sécurité pour Windows intègrent un changement au sein de Windows PowerShell 5.1, en particulier au niveau de la commande Invoke-WebRequest. L'objectif : atténuer la faille de sécurité CVE-2025-54100 permettant une exécution de code à distance.

CVE-2025-54100 : une faille liée à Windows PowerShell 5.1

Si Microsoft a décidé d'ajuster le comportement du cmdlet Invoke-WebRequest sur Windows, c'est pour des raisons de sécurité. Pour rappel, cette commande (qui a un alias curl dans la console PowerShell) est capable d'effectuer des requêtes Web et elle peut être utilisée pour télécharger des fichiers.

En ligne de mire : la faille de sécurité CVE-2025-54100. Si un attaquant exploite cette vulnérabilité, il peut exécuter du code sur la machine depuis laquelle la commande Invoke-WebRequest a été exécutée. En effet, lorsque cette commande est utilisée, elle récupère le contenu de la page ciblée, et si celle-ci embarque du code PowerShell, il sera exécuté sur la machine locale !

Dans la pratique, une page piégée pourrait permettre à un attaquant d'exécuter du code malveillant sur la machine d'une victime si celle-ci exécute une requête PowerShell sur cette page. C'est pour atténuer ce risque que Microsoft a décidé de modifier le comportement de la commande Invoke-WebRequest.

Plus de sécurité avec Invoke-WebRequest

En réponse à cette vulnérabilité, la commande Invoke-WebRequest va donc se comporter différemment : "Après avoir installé les mises à jour Windows publiées à partir du 9 décembre 2025, l'exécution de la commande Invoke-WebRequest (également appelée curl) dans PowerShell 5.1 déclenchera une invite de sécurité (lorsqu'aucun paramètre spécial n'est utilisé). L'invite s'affiche dans la console PowerShell avec un avertissement concernant le risque lié à l'exécution de scripts.", précise Microsoft.

L'objectif est d'aligner le niveau de sécurité de Windows PowerShell 5.1 sur celui de PowerShell 7, qui utilise déjà un processus d'analyse Web plus sécurisé. Désormais, après l'installation des mises à jour de décembre 2025 sur Windows ou Windows Server, les utilisateurs verront apparaître le message suivant dans la console :

Security Warning: Script Execution Risk
Invoke-WebRequest parses the content of the web page. Script code in the web page might be run when the page is parsed.
      RECOMMENDED ACTION:
      Use the -UseBasicParsing switch to avoid script code execution.
      Do you want to continue?
Avertissement sécurité Invoke-WebRequest Powershell

L'utilisateur se retrouve face à un choix binaire pour continuer ou annuler l'opération. Par défaut, appuyer sur "Entrée" ou choisir "Non" annulera l'exécution de la commande. Si l'utilisateur force l'exécution en répondant "Oui", il accepte explicitement le risque que le contenu de la page et les scripts intégrés soient chargés.

Adaptez vos scripts PowerShell pour éviter les blocages

Le changement n'est pas anodin : le nouveau comportement induit une action manuelle de la part de l'utilisateur, donc vous devez intervenir ! Autrement dit, vous allez devoir réviser vos scripts PowerShell où vous utilisez Invoke-WebRequest, surtout s'ils sont exécutés via des tâches planifiées.

Le paramètre -UseBasicParsing désormais pris en charge par Windows PowerShell 5.1 permet d'outrepasser cet avertissement et d'exécuter la requête. Néanmoins, si vous exécutez une requête avec ce paramètre, tout code présent sur la page ciblée sera ignoré (c'est à savoir, bien que ce ne soit pas gênant).

"Pour les scripts automatisés ou les tâches planifiées, mettez-les à jour afin d'inclure le paramètre -UseBasicParsing dans les appels Invoke-WebRequest. Cela présélectionne le comportement sécurisé afin que l'invite n'apparaisse pas et que votre script continue à s'exécuter sans interruption.", précise Microsoft.

Pour aller plus loin, Microsoft incite à refactoriser le code PowerShell : "Modernisez votre approche des interactions Web, par exemple en utilisant la nouvelle version de PowerShell Core (version 7.x ou ultérieure) qui ne dépend pas du moteur Internet Explorer et évite l'exécution de scripts, ou en utilisant des outils spécialisés de web scraping qui traitent le contenu de manière plus sécurisée."

Avant d'installer les mises à jour de décembre 2025 sur vos postes de travail, et surtout sur vos serveurs, vous devez donc auditer vos scripts pour mesurer l'impact de ce changement (attention aux modules tiers aussi).

Source

author avatar
Florian BURNEL Co-founder of IT-Connect
Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

Laisser un commentaire

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

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.