Docker 安全公告

Docker Desktop 4.44.3 安全更新:CVE-2025-9074

最後更新於 2025 年 8 月 20 日

Docker Desktop 中的一個漏洞已於 8 月 20 日在 4.44.3 版本中修復

  • 修復了 CVE-2025-9074,該漏洞允許在 Docker Desktop 上執行的惡意容器訪問 Docker Engine 並在無需掛載 Docker socket 的情況下啟動額外的容器。這可能導致未經授權地訪問主機系統上的使用者檔案。增強容器隔離 (ECI) 無法緩解此漏洞。

Docker Desktop 4.44.0 安全更新:CVE-2025-23266

最後更新於 2025 年 7 月 31 日

我們已知悉 CVE-2025-23266,這是一個影響 NVIDIA Container Toolkit 在 CDI 模式下版本最高為 1.17.7 的嚴重漏洞。Docker Desktop 包含 1.17.8 版本,不受此影響。但是,捆綁了早期工具包版本的舊版 Docker Desktop 如果手動啟用了 CDI 模式,可能會受到影響。升級到 Docker Desktop 4.44 或更高版本以確保您使用的是已修補的版本。

Docker Desktop 4.43.0 安全更新:CVE-2025-6587

最後更新於 2025 年 7 月 3 日

Docker Desktop 中的一個漏洞已於 7 月 3 日在 4.43.0 版本中修復

  • 修復了 CVE-2025-6587,該漏洞導致敏感系統環境變數包含在 Docker Desktop 診斷日誌中,從而可能導致金鑰洩露。

Docker Desktop 4.41.0 安全更新:CVE-2025-3224、CVE-2025-4095 和 CVE-2025-3911

最後更新於 2025 年 5 月 15 日

Docker Desktop 中的三個漏洞已於 4 月 28 日在 4.41.0 版本中修復。

  • 修復了 CVE-2025-3224,該漏洞允許具有使用者機器訪問許可權的攻擊者在 Docker Desktop 更新時執行許可權提升。
  • 修復了 CVE-2025-4095,該漏洞導致在使用 MacOS 配置配置檔案時,不強制執行登錄檔訪問管理 (RAM) 策略,從而允許使用者從未經批准的登錄檔拉取映象。
  • 修復了 CVE-2025-3911,該漏洞允許具有使用者機器讀取訪問許可權的攻擊者從 Docker Desktop 日誌檔案中獲取敏感資訊,包括為執行容器配置的環境變數。

我們強烈建議您更新到 Docker Desktop 4.41.0

Docker Desktop 4.34.2 安全更新:CVE-2024-8695 和 CVE-2024-8696

最後更新於 2024 年 9 月 13 日

Cure53 報告的 Docker Desktop 中與 Docker Extensions 相關的兩個遠端程式碼執行 (RCE) 漏洞已於 9 月 12 日在 4.34.2 版本中修復。

  • CVE-2024-8695:在 Docker Desktop 4.34.2 之前的版本中,透過精心製作的擴充套件描述/更新日誌,惡意擴充套件可能利用遠端程式碼執行 (RCE) 漏洞。[嚴重]
  • CVE-2024-8696:在 Docker Desktop 4.34.2 之前的版本中,透過精心製作的擴充套件釋出者 URL/附加 URL,惡意擴充套件可能利用遠端程式碼執行 (RCE) 漏洞。[高危]

在擴充套件市場中未發現利用這些漏洞的現有擴充套件。Docker 團隊將密切監控並認真審查所有釋出新擴充套件的請求。

我們強烈建議您更新到 Docker Desktop 4.34.2。如果您無法及時更新,可以停用 Docker Extensions 作為臨時解決方案。

啟用 SSO 後,CLI 密碼登入功能將棄用

最後更新於 2024 年 7 月

當首次引入 SSO 強制執行時,Docker 提供了一段寬限期,以允許在使用 Docker CLI 對 Docker Hub 進行身份驗證時繼續使用密碼。這樣做是為了讓組織能夠更輕鬆地使用 SSO 強制執行。建議配置 SSO 的管理員鼓勵使用 CLI 的使用者切換到個人訪問令牌,以應對寬限期結束。

2024 年 9 月 16 日,寬限期將結束,當 SSO 強制執行時,將不再允許透過 Docker CLI 使用密碼對 Docker Hub 進行身份驗證。受影響的使用者需要切換到使用 PATs 才能繼續登入。

在 Docker,我們希望為開發人員和組織提供最安全的體驗,而此棄用是朝著這個方向邁出的重要一步。

SOC 2 Type 2 認證和 ISO 27001 認證

最後更新於 2024 年 6 月

Docker 很高興地宣佈,我們已獲得 SOC 2 Type 2 認證和 ISO 27001 認證,沒有任何例外或重大不合規之處。

安全是 Docker 運營的基本支柱,它融入了我們的整體使命和公司戰略。Docker 的產品是使用者社群的核心,我們的 SOC 2 Type 2 認證和 ISO 27001 認證證明了 Docker 對使用者群安全的持續承諾。

更多資訊請參見部落格公告

Docker 安全諮詢:runc、BuildKit 和 Moby 中的多項漏洞

最後更新於 2024 年 2 月 2 日

在 Docker,我們優先考慮軟體的安全性和完整性以及使用者的信任。Snyk Labs 的安全研究人員發現並報告了容器生態系統中的四個安全漏洞。其中一個漏洞 CVE-2024-21626 涉及 runc 容器執行時,另外三個影響 BuildKit (CVE-2024-23651, CVE-2024-23652, 和 CVE-2024-23653)。我們向社群保證,我們的團隊與報告者和開源維護者合作,一直在努力協調和實施必要的補救措施。

我們致力於維護最高的安全標準。我們已於 1 月 31 日釋出了 runc、BuildKit 和 Moby 的修補版本,並於 2 月 1 日釋出了 Docker Desktop 的更新以解決這些漏洞。此外,我們最新的 BuildKit 和 Moby 版本還包含了 CVE-2024-23650CVE-2024-24557 的修復,這些漏洞分別由獨立研究人員和 Docker 內部研究計劃發現。

受影響的版本
runc<= 1.1.11
BuildKit<= 0.12.4
Moby (Docker Engine)<= 25.0.1 和 <= 24.0.8
Docker Desktop<= 4.27.0

如果我使用的是受影響的版本,我該怎麼辦?

如果您正在使用受影響的 runc、BuildKit、Moby 或 Docker Desktop 版本,請務必更新到最新版本,連結在下表中

已修補的版本
runc>= 1.1.12
BuildKit>= 0.12.5
Moby (Docker Engine)>= 25.0.2 和 >= 24.0.9
Docker Desktop>= 4.27.1

如果您無法及時更新到不受影響的版本,請遵循以下最佳實踐以降低風險

  • 只使用受信任的 Docker 映象(例如 Docker 官方映象)。
  • 不要從不受信任的源或不受信任的 Dockerfile 構建 Docker 映象。
  • 如果您是 Docker Business 客戶並使用 Docker Desktop 且無法更新到 v4.27.1,請務必啟用 Hardened Docker Desktop 功能,例如
  • 對於 CVE-2024-23650、CVE-2024-23651、CVE-2024-23652 和 CVE-2024-23653,請避免使用來自不受信任源的 BuildKit 前端。前端映象通常在 Dockerfile 中指定為 #syntax 行,或在使用 buildctl build 命令時使用 --frontend 標誌。
  • 為緩解 CVE-2024-24557,請確保在構建映象時使用 BuildKit 或停用快取。在 CLI 中,可以透過 DOCKER_BUILDKIT=1 環境變數(如果安裝了 buildx 外掛,則 Moby >= v23.0 預設啟用)或 --no-cache 標誌來實現。如果您直接使用 HTTP API 或透過客戶端使用 HTTP API,可以透過將 /build API 端點nocache 設定為 trueversion 設定為 2 來實現。

技術細節和影響

CVE-2024-21626 (高危)

在 runc v1.1.11 及更早版本中,由於某些洩露的檔案描述符,攻擊者可以透過導致新生成的容器程序(來自 runc exec)在主機檔案系統名稱空間中擁有工作目錄,或者透過誘騙使用者執行惡意映象並允許容器程序透過 runc run 訪問主機檔案系統來獲取對主機檔案系統的訪問許可權。攻擊還可以適應覆蓋半任意主機二進位制檔案,從而實現完整的容器逃逸。請注意,當使用高階執行時(例如 Docker 或 Kubernetes)時,此漏洞可以透過執行惡意容器映象而無需額外配置或在啟動容器時傳遞特定 workdir 選項來利用。在 Docker 的情況下,該漏洞也可以從 Dockerfile 內部利用。

該問題已在 runc v1.1.12 中修復。

CVE-2024-23651 (高危)

在 BuildKit <= v0.12.4 中,兩個並行執行的惡意構建步驟共享相同的帶有子路徑的快取掛載,可能導致競態條件,從而使主機系統中的檔案可供構建容器訪問。這隻會在使用者嘗試構建惡意專案的 Dockerfile 時發生。

該問題已在 BuildKit v0.12.5 中修復。

CVE-2024-23652 (高危)

在 BuildKit <= v0.12.4 中,惡意 BuildKit 前端或使用 RUN --mount 的 Dockerfile 可能會誘騙刪除為掛載點建立的空檔案的功能,從而刪除容器外部主機系統中的檔案。這隻會在使用者使用惡意 Dockerfile 時發生。

該問題已在 BuildKit v0.12.5 中修復。

CVE-2024-23653 (高危)

除了將容器作為構建步驟執行之外,BuildKit 還提供用於基於已構建映象執行互動式容器的 API。在 BuildKit <= v0.12.4 中,可以使用這些 API 要求 BuildKit 執行具有提升許可權的容器。通常,只有在 buildkitd 配置中啟用特殊 security.insecure 許可權且使用者初始化構建請求時允許,才能執行此類容器。

該問題已在 BuildKit v0.12.5 中修復。

CVE-2024-23650 (中危)

在 BuildKit <= v0.12.4 中,惡意 BuildKit 客戶端或前端可能製作一個請求,導致 BuildKit 守護程式因 panic 而崩潰。

該問題已在 BuildKit v0.12.5 中修復。

CVE-2024-24557 (中危)

在 Moby <= v25.0.1 和 <= v24.0.8 中,如果映象從 scratch 構建,則經典構建器快取系統容易受到快取中毒攻擊。此外,對某些指令(最重要的是 HEALTHCHECKONBUILD)的更改不會導致快取未命中。瞭解使用者正在使用的 Dockerfile 的攻擊者可以透過使其拉取特製映象來毒害其快取,該映象將被視為某些構建步驟的有效快取候選項。

該問題已在 Moby >= v25.0.2 和 >= v24.0.9 中修復。

Docker 產品如何受到影響?

Docker Desktop

Docker Desktop v4.27.0 及更早版本受到影響。Docker Desktop v4.27.1 於 2 月 1 日釋出,包含 runc、BuildKit 和 dockerd 二進位制檔案補丁。除了更新到此新版本外,我們鼓勵所有 Docker 使用者勤勉使用 Docker 映象和 Dockerfile,並確保您在構建中只使用受信任的內容。

一如既往,您應該在更新前檢查您的作業系統的 Docker Desktop 系統要求(WindowsLinuxMac),以確保完全相容。

Docker Build Cloud

所有新的 Docker Build Cloud 構建器例項都將配置最新的 Docker Engine 和 BuildKit 版本,因此不會受到這些 CVE 的影響。更新也已推廣到現有的 Docker Build Cloud 構建器。

沒有其他 Docker 產品受到這些漏洞的影響。

Text4Shell CVE-2022-42889

最後更新於 2022 年 10 月

CVE-2022-42889 已在流行的 Apache Commons Text 庫中發現。此庫版本最高但不包括 1.10.0 的版本受此漏洞影響。

我們強烈建議您更新到最新版本的 Apache Commons Text

掃描 Docker Hub 上的映象

在 2021 年 10 月 21 日世界協調時間 12:00 後觸發的 Docker Hub 安全掃描現在正確識別 Text4Shell CVE。在此日期之前的掃描目前不反映此漏洞的狀態。因此,我們建議您透過將新映象推送到 Docker Hub 來觸發掃描,以在漏洞報告中檢視 Text4Shell CVE 的狀態。有關詳細說明,請參閱掃描 Docker Hub 上的映象

受 CVE-2022-42889 影響的 Docker 官方映象

許多 Docker 官方映象包含易受攻擊的 Apache Commons Text 版本。以下列出了可能包含易受攻擊的 Apache Commons Text 版本的 Docker 官方映象

我們已將這些映象中的 Apache Commons Text 更新到最新版本。其中一些映象可能由於其他原因而不易受攻擊。我們建議您也查閱上游網站上釋出的指南。

Log4j 2 CVE-2021-44228

最後更新於 2021 年 12 月

Log4j 2 CVE-2021-44228 漏洞存在於 Log4j 2(一個非常常見的 Java 日誌庫)中,它允許遠端程式碼執行,通常來自攻擊者容易獲得的上下文。例如,它被發現在 Minecraft 伺服器中,允許將命令鍵入聊天日誌,因為這些日誌隨後被髮送到日誌記錄器。這使其成為一個非常嚴重的漏洞,因為日誌庫使用範圍廣且可能易於利用。許多開源維護者正在努力修復和更新軟體生態系統。

受 Log4j 2 漏洞影響的版本是 2.0 到 2.14.1(含)。第一個修復版本是 2.15.0。如果可以,我們強烈建議您更新到最新版本。如果您使用的是 2.0 之前的版本,您也不會受到攻擊。

如果您使用這些版本,您可能不會受到攻擊,因為您的配置可能已經緩解了此問題,或者您記錄的內容可能不包含任何使用者輸入。然而,在不詳細瞭解所有可能記錄的程式碼路徑以及它們可能從何處獲取輸入的情況下,這可能很難驗證。因此,您可能需要升級所有使用易受攻擊版本的程式碼。

CVE-2021-45046

作為 CVE-2021-44228 的更新,版本 2.15.0 中所做的修復不完整。已發現其他問題,並由 CVE-2021-45046CVE-2021-45105 跟蹤。為了更完整地修復此漏洞,我們建議您儘可能更新到 2.17.0。

掃描 Docker Hub 上的映象

在 2021 年 12 月 13 日世界協調時間 17:00 後觸發的 Docker Hub 安全掃描現在正確識別 Log4j 2 CVE。在此日期之前的掃描目前不反映此漏洞的狀態。因此,我們建議您透過將新映象推送到 Docker Hub 來觸發掃描,以在漏洞報告中檢視 Log4j 2 CVE 的狀態。有關詳細說明,請參閱掃描 Docker Hub 上的映象

受 Log4j 2 CVE 影響的 Docker 官方映象

最後更新於 2021 年 12 月

許多 Docker 官方映象包含易受攻擊的 Log4j 2 CVE-2021-44228 版本。下表列出了可能包含易受攻擊的 Log4j 2 版本的 Docker 官方映象。我們已將這些映象中的 Log4j 2 更新到最新版本。其中一些映象可能由於其他原因而不易受攻擊。我們建議您也查閱上游網站上釋出的指南。

倉庫已修補的版本附加文件
couchbase7.0.3Couchbase 部落格
Elasticsearch6.8.22, 7.16.2Elasticsearch 公告
Flink1.11.6, 1.12.7, 1.13.5, 1.14.2Flink 關於 Log4j CVE 的建議
Geonetwork3.10.10Geonetwork GitHub 討論
lightstreamer等待資訊等待資訊
logstash6.8.22, 7.16.2Elasticsearch 公告
neo4j4.4.2Neo4j 公告
solr8.11.1Solr 安全新聞
sonarqube8.9.5, 9.2.2SonarQube 公告
storm等待資訊等待資訊
注意

儘管一些掃描器可能會將 xwiki 映象檢測為易受攻擊,但作者認為這些映象不受 Log4j 2 CVE 的影響,因為 API jar 不包含該漏洞。Nuxeo 映象已棄用,將不會更新。