ACK Edge集群CVE-2024-21626修复方案

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}

相关文档

漏洞CVE-2024-21626公告