runc社区披露了高危安全漏洞CVE-2024-21626,攻击者可以利用该漏洞越权访问宿主机文件或执行二进制程序,关于该漏洞的详细信息,请参见runc社区公告 GHSA-xr7r-f8xq-vfvv。 建议您及时更新修复。
影响范围
v1.20、v1.22、v1.24、v1.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}
相关文档
文档内容是否对您有帮助?