2024-02-01
2024年2月1日,火山引擎监测到 opencontainers 官方发布 runc 1.12 版本更新,修复了一个容器逃逸漏洞,该漏洞编号为 CVE-2024-21626。
该漏洞源于 runc 1.1.11 及之前的版本存在文件描述符校验问题。通过该漏洞,攻击者可以将新生成的容器进程的工作目录设置到宿主文件系统命名空间中,从而允许低权限容器访问宿主机文件系统,造成容器逃逸的后果。
漏洞官方定级为【高危】,CVSS 评分 8.6 ,火山引擎风险评级为【高危】。
该漏洞 PoC 及 EXP 暂未在互联网上公开,火山引擎将持续关注该漏洞进展,并第一时间更新漏洞信息。建议各方尽快自查,及时对相关软件进行更新,以免遭受黑客攻击。
火山引擎风险评级为:高危
在 runc 1.1.11 及更早版本中,由于内部文件描述符泄漏,攻击者可以将新生成的容器进程(来自 runc exec)工作目录设置到主机文件系统命名空间中,这使容器逃逸成为可能,因为它提供了对主机文件系统的访问权限。
影响版本:v1.0.0-rc93 <= runc <= v1.1.11
安全版本:v1.1.12
火山引擎安全团队获取到相关情报后,第一时间进行排查。
容器服务 VKE:经确认,部分存量集群受该漏洞影响;当前新建集群和存量集群的新增节点已完成升级,不受该漏洞影响。对于上述影响范围内的存量集群节点,可以通过下方【修复建议】进行升级。
弹性容器实例 VCI:已确认新建和存量实例均不受该漏洞影响。
火山引擎将持续对漏洞可能造成的影响进行监控,保障相关云服务的安全性。
只允许容器(以及 runc exec)使用 process.cwd 为 / 的镜像。
只允许用户运行可信的镜像。
[1] https://github.com/opencontainers/runc/security/advisories/GHSA-xr7r-f8xq-vfvv
[2] https://snyk.io/blog/leaky-vessels-docker-runc-container-breakout-vulnerabilities/