影響
CVE-2024-21626 可能允許惡意映像或容器執行中涉及的程序逃脫受影響的 runc 容器並存取主機檔案系統。 runc 維護者記錄的變體還可以覆寫主機二進位檔案並導致主機完全受損 [S1]。 NVD 記錄了相同的容器突破行為,並且 runc 1.1.12 修復了 [S2]。
根本原因和受影響的版本
上游通報涵蓋從 1.0.0-rc93 到 1.1.11 的 runc 版本。內部檔案描述子可能仍可供容器程序使用,且受影響的版本不會驗證最終工作目錄是否保留在容器掛載命名空間 [S1] 內。因此,諸如“/proc/self/fd/7”之類的惡意容器工作目錄可以解析為主機命名空間。 runc 1.1.12 在執行 [S1] 之前關閉洩漏的描述符並驗證工作目錄。
由 FixVibe 覆蓋
連接的 GitHub 儲存庫掃描現在標記與此容器突破條件關聯的 Dockerfile 和 Kubernetes 工作負載配置。結果確定受影響的儲存庫檔案和配置位置,使用可能的問題證據態勢,並聲明置信度適用於來源/配置匹配。
FixVibe 不運行映像或容器、存取主機檔案、覆蓋二進位檔案或嘗試突破。儲存庫發現並不能證明配置已部署、主機使用 runc 或部署的運行時屬於受影響的版本範圍。客戶應先驗證實際運行時庫存,然後再將發現結果視為已確認的即時利用。
修復
將容器工作目錄替換為鏡像內的正常路徑。將可執行工作負載的每個 Docker、containerd、Kubernetes 節點、CI 運行程序、建置主機和獨立運行時升級到 runc 1.1.12 或更高版本,或升級到 runc 1.1.12 或更高版本,或升級到記錄為針對 X6QFVV重建並重新部署經過審查的映像和清單,以便過時的工件無法保留有風險的配置。
由於這種工作目錄情況非常不尋常,因此請檢查引入提交、映像來源、註冊表簽名、准入和審核日誌以及容器活動。如果配置達到可運行環境,則透過擁有者的事件回應流程進行升級。
