runc社區披露了高危安全性漏洞CVE-2024-21626,攻擊者可以利用該漏洞越權訪問宿主機檔案或執行二進位程式,關於該漏洞的詳細資料,請參見runc社區公告 GHSA-xr7r-f8xq-vfvv。 建議您及時更新修複。
影響範圍
1.20、1.22、1.24、1.26的ACK Edge叢集,且叢集運行時為containerd 1.5.13和1.6.20版本(其餘版本不受影響)。
您可以在節點池頁面單擊節點池ID,然後單擊基本資料頁簽,查看節點池的運行時及運行時版本。
說明
-
建立叢集和存量叢集的新增節點已完成升級,不受該漏洞影響。
-
Docker運行時不受該漏洞影響。
解決方案
修複指令碼
針對受影響的節點,需在節點上執行以下指令碼。
重要
為保證叢集和應用穩定性,請將待修複的節點分批灰階執行修複,請勿全量執行。
-
公網接入節點
wget -qr https://ack-edge-cn.oss-rg-china-mainland.aliyuncs.com/runc-edge-cve.sh -O /tmp/runc-cve.sh && bash /tmp/runc-cve.sh -
專線接入節點
請在命令中指定叢集所在的Region。
export REGION=cn-hangzhou; wget -qr "https://aliacs-k8s-${REGION}.oss-${REGION}-internal.aliyuncs.com/public/pkg/edge/runc-edge-cve-internal.sh" -O /tmp/runc-cve.sh && bash /tmp/runc-cve.sh
預期輸出
-
預期輸出如下,表明當前環境不存在CVE漏洞,系統未執行任何變更。可忽略。
runc version is low, no cve, is safe -
預期輸出如下,表明環境存在漏洞,並已完成替換修複。在此情境下,節點池大機率均存在漏洞。請將節點分批次灰階執行修複,並觀察業務運行狀態。
cve is fixed...ok
版本資訊
執行以下命令,擷取修複後的runc工具版本資訊。
runc --version | grep commit | awk -F "-g" '{print $2}'
預期輸出:
390c7001
說明
-
執行修複指令碼後,並不會更改或升級runc版本。
-
該runc版本由ACK單獨維護,在社區的影響版本範圍內,但是漏洞已經修複。
復原方案
若變更不符合預期,可在節點執行如下命令進行復原,將runc恢複原有版本。
runc_path=$(command -v runc)
cp -f ${runc_path}_bak ${runc_path}