
CVE-2025-9074 の概念実証エクスプロイト。Windows 上の露出した Docker Engine API を介してコンテナからホストへのファイル書き込みを実証します。許可されたテストおよび教育目的に限ります。
作成者: w01f
ステータス: 概念実証 (教育目的 / 許可されたテストのみ)
このプロジェクトは、CVE-2025-9074 のPoCを示します。これは、特定バージョンの Docker Desktop for Windows における設定ミス/露出であり、http://192.168.65.7:2375 の Docker Engine HTTP API がコンテナから (そして時にはSSRF経由で) 到達可能となり、攻撃者が Windows ホストドライブへの バインドマウント を持つコンテナを作成し、ホストにファイルを書き込むことを可能にします。
⚠️ 管理されたラボまたは明示的な書面による許可がある場合にのみ使用してください。誤用は法律やポリシーに違反する可能性があります。
http://192.168.65.7:2375) に接続しますC:\ (Linux VM内では /mnt/host/c) からコンテナ内の /host_root への バインドマウント を持つ短命のコンテナを作成しますC:\pwn.txt を作成する簡単なコマンドを実行しますターゲットが脆弱な場合、Windowsホスト上にそのファイルが現れるのを確認できます。
192.168.65.7:2375 (HTTP、TLSなし) で露出している脆弱なDocker Desktopを実行しているWindowsマシン。✅
GET http://192.168.65.7:2375/_pingがコンテナ内からOKを返す場合、PoCの条件が存在する可能性が高いです。
.
├─ cve_2025_9074_poc.py # Python PoC (requests-based)
└─ README.md # This file
pip install requestshttp://192.168.65.7:2375) に到達可能であること# 1) Install dependency
pip install --no-input requests
# 2) Run the PoC
python3 cve_2025_9074_poc.py
# Optional: customize output filename or image
# python3 cve_2025_9074_poc.py --outfile test.txt --image busybox
デフォルトの動作:
http://192.168.65.7:2375/mnt/host/c (Linux VMから見たWindows C:)/host_rootC:\pwn.txt--host Engine host IP (default: 192.168.65.7)
--port Engine port (default: 2375)
--image Container image (default: alpine)
--host-path Path on engine host/VM to bind (default: /mnt/host/c)
--mount-path Path inside the container (default: /host_root)
--outfile Filename to create on host C:\ (default: pwn.txt)
脆弱なシステムでは、PoC実行後に以下が見つかるはずです:
C:\pwn.txt
テキスト pwned_by_CVE_2025_9074 を含んでいます。
PoCは短命のコンテナを使用します。念のため完全にクリーンアップしたい場合は:
# From a privileged shell with docker CLI access:
docker ps -a --format '{{.ID}}\t{{.Image}}\t{{.Command}}'
# Remove by container ID if any remain:
docker rm -f <CONTAINER_ID>
# Remove the test file on the host:
del C:\pwn.txt
HostConfig.Binds に /mnt/host/c や他のホストドライブマウントが含まれる コンテナ作成 イベントを探します。C:\ への予期しない ファイル作成 を監視します。192.168.65.7:2375 (HTTP) へのネットワークテレメトリは不審です。/ping がOKではない / 接続拒否: エンジンAPIがコンテナから到達可能ではありません。ホストがパッチ適用済みか、露出していない可能性があります。--host-path がLinux VMからWindows C:\ に正しくマッピングされているか確認してください。環境によって異なる場合があります。alpine をプルするか、--image busybox で busybox に切り替えてください。このPoCは 教育目的および許可されたテストのみ のために提供されています。明示的な書面による許可なくシステムに対して実行することは違法かつ非倫理的です。作成者および貢献者は、誤用や損害について 責任を負いません。
MIT
作成者: w01f