尊敬的腾讯云客户,您好:
近日,腾讯云安全中心监测发现轻量级容器运行环境runc被爆存在容器逃逸漏洞,攻击者可以在利用该漏洞覆盖Host上的runc文件,从而在Host上以root权限执行代码。
为避免您的业务受影响,腾讯云安全中心建议您及时开展安全自查,如在受影响范围,请您及时进行更新修复,避免被外部攻击者入侵。
【漏洞详情】
runc是一个轻量级通用容器运行环境,它是一个命令行工具,可以根据开放容器方案(Open Container Initiative)生成和运行容器,该漏洞若被利用,会允许恶意容器(以最少的用户交互)覆盖Host上的runc文件,从而在Host上以root权限执行代码,进而攻击其它容器或Host。目前CVSSv3官方评分达7.2分。
【风险等级】
高风险
【漏洞风险】
容器逃逸攻击风险,存在漏洞的runc被利用后可以获取Host的root权限,并利用该权限攻击其他容器或机器。
【影响版本】
除runc之外,Apache Mesos、LXC也在受影响之列。
【修复建议】
若您使用的是腾讯云容器服务TKE, 您可以通过以下方法进行漏洞修复
- TKE 已经修复增量版本,新创建的集群和新加入的节点不受影响
2.若Docker版本为17.12.x的容器节点(请通过docker version查看),可用root权限执行以下命令升级runc版本。此方法不影响该节点正在运行的业务。
wget http://static.ccs.tencentyun.com/docker17.12-runc-e25b2183f
chmod +x ./docker17.12-runc-e25b2183f
mv /usr/bin/docker-runc /usr/bin/docker-runc-$(date -Iseconds)
mv docker17.12-runc-e25b2183f /usr/bin/docker-runc
验证是否升级成功:
执行docker-runc -v, 应该看到如下版本信息:
runc version 1.0.0-rc4+dev
commit: e25b2183f48e942cb41582898acbf7e24b5d2f31
spec: 1.0.0
注意:对于黑石和TCE用户,请使用公网链接下载docker17.12-runc-e25b2183f:
3.若Docker版本为1.12.x的容器节点(请通过docker version查看),可用root权限执行以下命令升级runc版本。此方法不影响该节点正在运行的业务。
wget http://static.ccs.tencentyun.com/docker1.12-runc-20c0351b
chmod +x ./docker1.12-runc-20c0351b
mv /usr/bin/docker-runc /usr/bin/docker-runc-$(date -Iseconds)
mv docker1.12-runc-20c0351b /usr/bin/docker-runc
验证是否升级成功:
执行docker-runc -v, 应该看到如下版本信息:
runc version 1.0.0-rc2
commit: 20c0351ba557183e6b54075e862f20a07f50aad3
spec: 1.0.0-rc2-dev
注意:对于黑石和TCE用户,请使用公网链接下载docker1.12-runc-20c0351b:
- 目前TKE已修复增量Docker版本,除了以上方法2或3,存量的节点也可以通过移除集群再加入集群触发节点重新初始化进行修复,此方法不限制docker版本但会造成节点重装,操作前请先备份数据!(若是k8s1.7或者k8s1.4的TKE集群,该操作会将节点上的Docker版本由1.12.6升级到17.12.1,不影响业务使用)
【漏洞参考】
1)漏洞详情:https://www.openwall.com/lists/oss-security/2019/02/11/2
2)修复参考:https://github.com/opencontainers/runc/commit/0a8e4117e7f715d5fbeef398405813ce8e88558b
3)LXC修复:https://github.com/lxc/lxc/commit/6400238d08cdf1ca20d49bafb85f4e224348bf9d