runc 社区披露了三个高危漏洞(CVE-2025-31133、CVE-2025-52565 和 CVE-2025-52881)。这些漏洞虽然利用方式不同,但最终均可通过绕过 runc 对 /proc 目录下文件的写入限制,实现完整的容器逃逸。
漏洞描述
CVE-2025-31133:该漏洞利用 runc 中
maskedPaths(路径掩码)实现机制的一个缺陷。攻击者可在特定条件下,将容器内的/dev/null替换为一个指向宿主机/proc目录下敏感文件的符号链接(symlink)。这可能导致关键系统文件被意外挂载为可写,从而被攻击者利用实现容器逃逸。此外,如果攻击者删除/dev/null,runc 的错误处理逻辑可能导致敏感内核信息泄露。CVE-2025-52565:该漏洞与 CVE-2025-31133 的原理相似。runc 在为容器设置
/dev/console的 bind-mount 时未充分校验目标路径。攻击者可通过路径操控(Path Traversal)将宿主机上的任意文件挂载到容器的/dev/console,从而实现对宿主机文件的任意写,导致容器逃逸。CVE-2025-52881:runc 在设置 LSM(Linux Security Module,如 AppArmor、SELinux)安全标签时存在逻辑缺陷。这可能导致为容器配置的安全策略未能正确应用,削弱了容器的隔离能力,并可能与其他漏洞组合利用以提升攻击效果。
关于社区披露的更多信息,请参见runc社区安全公告。
影响范围
下列runc版本均在漏洞影响范围内:
| 社区在下列版本中修复了该问题:
|
当前,ACK集群中所有版本的runc组件均在漏洞影响范围内。ACK 提供的已修复漏洞的 containerd 版本如下:
2.1.4.1
1.6.39
解决方案
修复方案
参见containerd运行时发布记录,尽快升级集群运行时至已修复版本。具体操作及注意事项,请参见升级节点池。
临时方案
如果暂时无法执行升级操作,可采用以下措施来降低风险:
使用 rootless 容器:
rootless 模式下,runc 将以非 root 的低权限身份运行,可有效阻止大多数针对宿主机 procfs 文件的恶意写入攻击。
限制使用可信镜像:
通过启用安全策略管理中的ACKAllowedRepos策略,限制集群只允许使用来自可信镜像仓库的镜像。同时,基于最小化权限原则确保仅可信人员拥有导入镜像的权限。
通过使用Notation和Ratify进行OCI制品的加签和验签,确保容器镜像的供应链安全。
加固 LSM 策略:
若正在使用 AppArmor 或 SELinux,请确保安全策略已覆盖关键系统路径,限制不必要的访问。但 CVE-2025-52881 仍可能绕过部分 LSM 保护,建议及时升级运行时版本。