● 点击↑蓝字关注我们,获取更多安全风险通告
漏洞概述 |
|||
漏洞名称 |
runc容器逃逸漏洞 |
||
漏洞编号 |
QVD-2024-5073,CVE-2024-21626 |
||
公开时间 |
2024-01-31 |
影响量级 |
百万级 |
奇安信评级 |
高危 |
CVSS 3.1分数 |
8.6 |
威胁类型 |
代码执行 |
利用可能性 |
高 |
POC状态 |
未公开 |
在野利用状态 |
未发现 |
EXP状态 |
未公开 |
技术细节状态 |
已公开 |
利用条件:本地触发、需要交互。 |
(注:奇安信CERT的漏洞深度分析报告包含此漏洞的POC及技术细节,订阅方式见文末。)
影响组件
runc是一个根据OCI规范,在Linux上生成和运行容器的命令行工具。runc的使用非常灵活,可以与各种容器工具和平台集成,如Docker、Kubernetes等。它支持多种容器格式,包括OCI规范定义的标准格式,以及其他格式如Docker镜像格式。作为开源项目,runc受到全球开发者社区的广泛参与和贡献,被广泛应用于生产环境中的容器化部署。
漏洞描述
近日,奇安信CERT监测到runc官方发布安全通告修复了runc容器逃逸漏洞(CVE-2024-21626),由于runc存在内部文件描述符泄露,本地攻击者可以通过多种方式进行容器逃逸:
1、由于runc 将物理机的/sys/fs/cgroup 的文件描述符泄漏到 runc init 中。未经身份验证的攻击者可以制作恶意容器镜像,诱导受害者构建该恶意容器镜像,成功利用该漏洞可在物理机执行任意命令。
2、由于runc exec中同样存在文件描述符泄漏和工作目录验证不足。如果容器内的恶意进程知道某个管理进程将使用 --cwd 参数和给定路径调用 runc exec,便可以用符号链接将该路径替换为 /proc/self/fd/7/ 。一旦容器进程执行了容器镜像中的可执行文件,可以绕过PR_SET_DUMPABLE 保护,之后攻击者可以通过打开 /proc/$exec_pid/cwd 来访问主机文件系统。
3、可以通过将类似/proc/self/fd/7/../../../bin/bash的路径用作 process.args 二进制参数来覆盖主机二进制文件来改进攻击1、2。由于可以覆盖类似 /bin/bash的二进制文件,一旦特权用户在主机上执行目标二进制文件,攻击者就可以进行转移,以完全访问主机。
鉴于此漏洞影响范围较大,建议客户尽快做好自查及防护。
本次更新内容:
新增产线解决方案;
新增复现截图。
影响版本
v1.0.0-rc93 <= runc <= 1.1.11
其他受影响组件
Docker、k8s等使用runc的容器应用。
安全更新
目前官方已有可更新版本,建议受影响用户参考以下链接升级至最新版本:
runc >= 1.1.12
https://github.com/opencontainers/runc/releases/tag/v1.1.12
产品解决方案
奇安信开源卫士已支持
奇安信开源卫士20240201. 523版本已支持对runc容器逃逸漏洞(CVE-2024-21626)的检测。
[1]https://github.com/opencontainers/runc/security/advisories/GHSA-xr7r-f8xq-vfvv
2024年2月1日,奇安信 CERT发布安全风险通告;
2024年2月2日,奇安信 CERT发布安全风险通告第二次更新。
原文始发于微信公众号(奇安信 CERT):【已复现】runc容器逃逸漏洞(CVE-2024-21626)安全风险通告第二次更新
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论