Docker Engine 中揭露了一個高風險安全漏洞,在特定情況下,攻擊者可以利用該漏洞繞過授權外掛程式 ( AuthZ )。此漏洞編號為CVE-2026-34040(CVSS 評分:8.8),源自於對CVE-2024-41110的不完整修復,CVE-2024-41110 是同一元件中的最高嚴重性漏洞,於 2024 年 7 月被發現。
Docker Engine 維護人員在上個月底發布的安全公告中表示:「攻擊者可以利用精心構造的 API 請求,使 Docker 守護程序將請求轉發給授權插件,但不會包含請求體。如果請求體已轉發給授權插件,它原本會拒絕該請求,但現在授權插件可能會允許該請求。任何依賴授權插件來檢查請求體以做出存取控制決策的人都可能受到影響。」
包括 Asim Viladi Oglu Manizada、Cody、Oleh Konko 和 Vladimir Tokarev 在內的多位安全漏洞發現者分別獨立發現了該漏洞並提交了報告。該問題已在 Docker Engine 29.3.1 版本中修復。
根據 Cyera Research Labs 研究員 Tokarev 發布的一份報告,該漏洞源自於 CVE-2024-41110 的修復程式未能正確處理過大的 HTTP 請求體,從而導致可以使用單一填充的 HTTP 請求來建立具有主機檔案系統存取權限的特權容器。在假設的攻擊場景中,攻擊者如果擁有受 AuthZ 插件限制的 Docker API 存取權限,可以透過將容器建立請求填充到 1MB 以上來破壞該機制,導致請求在到達插件之前被丟棄。
Tokarev 在發給 The Hacker News 的報告中表示:「這個外掛程式允許請求,因為它沒有發現任何需要封鎖的內容。Docker守護程序會處理完整的請求,並建立一個具有主機 root 存取權限的特權容器:包括你的 AWS 憑證、SSH 金鑰、Kubernetes 配置以及機器上的所有其他內容。」
此外,像OpenClaw 這樣的人工智慧 (AI) 編碼代理程式在基於 Docker 的沙箱中運行,可能會被誘騙執行隱藏在精心構造的 GitHub 儲存庫中的提示注入,作為常規開發人員工作流程的一部分,從而執行利用 CVE-2026-34040 的惡意程式碼,以繞過授權並使用上述主機方法創建並使用上述主機檔案系統。
有了這種級別的存取權限,攻擊者可以提取雲端服務的憑證,並濫用這些憑證來控制雲端帳戶、Kubernetes 集群,甚至透過 SSH 連接到生產伺服器。
事情還沒完。 Cyera 還警告說,人工智慧代理可以自行找到繞過方法,並在嘗試存取kubeconfig等檔案時遇到錯誤時(例如,調試 Kubernetes 記憶體溢出問題),透過建立填充的 HTTP 請求來觸發該攻擊,這種方法無需植入包含惡意指令的惡意程式碼庫。
Cyera解釋說:「AuthZ插件拒絕了掛載請求。該代理可以存取Docker API,並且了解HTTP的工作原理。CVE-2026-34040不需要任何漏洞利用程式碼、特權或特殊工具。它只是一個帶有額外填充的HTTP請求。任何能夠讀取Docker API文檔的代理程式都可以建構它。」
作為臨時解決方案,建議避免使用依賴請求體檢查進行安全決策的授權插件,遵循最小權限原則將對 Docker API 的存取限制在受信任的各方,或以無根模式執行 Docker 。
Tokarev 表示:「在無根模式下,即使是特權容器的『root』也會對應到非特權主機的 UID。這樣一來,影響範圍就從『整個主機被攻破』縮小到『非特權使用者被攻破』。對於無法完全採用無根模式的環境,`--userns-remap` 參數提供了類似的 UID 映射。」
資料來源:https://thehackernews.com/2026/04/docker-cve-2026-34040-lets-attackers.html
Docker Engine 近期修補了一個高危險漏洞 CVE-2026-34040(CVSS 8.8)。該漏洞源於對 CVE-2024-41110 的修補不完全,攻擊者可透過精心構造且過大的 HTTP 請求,使 Docker Daemon 忽略授權插件(AuthZ)的檢查。