針對(duì)近期暴露的 runc 容器逃逸漏洞,青云技術(shù)團(tuán)隊(duì)一直在密切觀察和研究,同時(shí)與大家同步以下信息,希望對(duì)大家有所幫助。
什么是 runc
Runc 是一個(gè)根據(jù) OCI (Open Container Initiative) 標(biāo)準(zhǔn)構(gòu)建的并運(yùn)行容器的底層工具,諸如 Docker,Containerd 以及 CRI-O 都以其為底層核心去處理數(shù)據(jù)的格式化和序列化。而 Kubernetes 作為容器調(diào)度管理平臺(tái)基于這些容器運(yùn)行環(huán)境,也受到了此漏洞的影響。
此漏洞(CVE-2021-30465)可能會(huì)造成的影響
當(dāng)前漏洞威脅級(jí)別為【嚴(yán)重】,所有 runc 1.0.0-rc95 以下的版本均會(huì)受到影響,攻擊者可以通過(guò)創(chuàng)建惡意 Pod 及 Container,利用符號(hào)鏈接以及條件競(jìng)爭(zhēng)漏洞,可掛載宿主機(jī)目錄至 Container 中,最終可能會(huì)導(dǎo)致容器逃逸。目前漏洞細(xì)節(jié)、POC 已公開(kāi),風(fēng)險(xiǎn)高。
降低風(fēng)險(xiǎn)以及規(guī)避漏洞的建議
- 手動(dòng)升級(jí) runc 版本升級(jí) runc 至 1.0.0-rc95,可參考官方升級(jí)查看 runc 版本:
docker-runc -v
注意:升級(jí)前請(qǐng)做好關(guān)鍵數(shù)據(jù)的備份 - 目前使用 KubeKey 新裝集群且使用 KubeKey 默認(rèn)安裝的 docker, 其 runc 版本大于 v1.0.0-rc94,不存在該逃逸漏洞的風(fēng)險(xiǎn),已安裝集群請(qǐng)按漏洞解決方案排查修復(fù)。
- 即將發(fā)布的 QKE 3.1 版本中,也將包含最新版 runc。
- 在以上配置升級(jí)過(guò)程中碰到任何問(wèn)題,您可通過(guò)青云線上工單系統(tǒng)獲得青云專業(yè)技術(shù)支持