关于 CVE-2025-31133、CVE-2025-52565、CVE-2025-52881 漏洞的安全公告

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版本均在漏洞影响范围内:

  • runc v1.2.7 及更早版本

  • runc v1.3.2 及更早版本

  • runc v1.4.0-rc.2 及更早版本

社区在下列版本中修复了该问题:

  • runc v1.2.8

  • runc v1.3.3

  • runc v1.4.0-rc.3

当前,ACK集群中所有版本的runc组件均在漏洞影响范围内。ACK 提供的已修复漏洞的 containerd 版本如下:

  • 2.1.4.1

  • 1.6.39

解决方案

修复方案

参见containerd运行时发布记录,尽快升级集群运行时至已修复版本。具体操作及注意事项,请参见升级节点池

临时方案

如果暂时无法执行升级操作,可采用以下措施来降低风险:

  • 使用 rootless 容器:

    rootless 模式下,runc 将以非 root 的低权限身份运行,可有效阻止大多数针对宿主机 procfs 文件的恶意写入攻击。

  • 限制使用可信镜像:

  • 加固 LSM 策略:

    若正在使用 AppArmor 或 SELinux,请确保安全策略已覆盖关键系统路径,限制不必要的访问。但 CVE-2025-52881 仍可能绕过部分 LSM 保护,建议及时升级运行时版本。