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.
Sommaire
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.
- Notre tutoriel à ce sujet : comment télécharger des fichiers avec la commande Invoke-WebRequest de PowerShell ?
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?

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).

