跳至主要內容

Azure Kubernetes Service:藉由寫入至容器的 /etc/hosts 來發動節點磁碟 DOS (CVE-2020-8557)

發佈日期: 九月 01, 2020

當計算 Pod 的暫時儲存體使用量時,kubelet 回收管理員不會包含 kubelet 在 Pod 中掛接的 /etc/hosts 檔案。若 Pod 將大量資料寫入至 etc/hosts 檔案,可能會填滿節點的儲存空間,並導致節點失敗。

我是否易受攻擊?

任何允許具有足夠權限的 Pod 寫入至其自有 /etc/hosts 檔案的叢集都會受到影響。這包括使用其功能界限集合中 CAP_DAC_OVERRIDE 執行 (預設為 true),且 UID 為 0 (根目錄) 或 allowPrivilegeEscalation 的資訊安全內容為 true (預設為 true) 的容器。

受影響的 ** 上游 ** 版本

kubelet v1.18.0-1.18.5
kubelet v1.17.0-1.17.8
kubelet < v1.16.13

如何減輕此弱點?

在升級之前,您可以使用原則來減輕此弱點 (例如禁止使用 allowPriviledgeEscalation: true 建立 Pod,以及禁止權限提升和以根目錄身分執行),但這些措施可能會中斷這些依賴權限正常運作的現有工作負載。

深入了解如何使用 Azure 原則保護 Pod。

如需完整詳細資料 (包括受影響的版本清單和風險降低步驟),請按一下這裡

  • Azure Kubernetes Service (AKS)
  • Security