【漏洞预警】containerd CRI ExecSync 协程泄漏致节点级 DoS(CVE-2026-53495)
发布日期: 2026 年 9 月 12 日
风险等级: 中危(Moderate / Medium)
漏洞编号: CVE-2026-53495
CVSS: GitHub 多为 Moderate;Miggo 记 CVSS 4.0 约 6.8
披露时间: 约 2026 年 9 月 9 日(上游修复版本约 9 月 4 日发布)
一、漏洞概述
containerd 是云原生生态中广泛使用的行业标准容器运行时,常作为 Kubernetes 节点的 CRI(Container Runtime Interface)组件。
经官方确认,Linux 上启用 CRI 的 containerd 在 ExecSync 实现中存在缺陷:当 exec 探针 或 生命周期钩子 拉起 长驻后台子进程 时,用于排空 stdio 的协程可能被 永久阻塞。I/O 排空阶段 缺少默认超时,也 未正确处理 context 取消;在探针等高频场景下反复调用 ExecSync,会持续泄漏协程与主机内存。
资源耗尽后,containerd 守护进程可能被内核 OOM Killer 终止,导致 节点级容器运行时不可用,直至重启 containerd(或整机)。该问题属于 拒绝服务(DoS),并非直接远程代码执行(RCE)。
重要说明: 仅影响 Linux + 启用 CRI 的部署。未使用 CRI 实现,或非 Linux 平台运行容器,不受本漏洞影响。触发前提是能调用 ExecSync,且相关探针 / 钩子拉起长驻子进程。
同批修复说明
同批版本还修复了恶意镜像 unpack 过程中的慢速等问题(GHSA-rp3h-jf77-q9p4,无独立 CVE),以及从 descriptor URL 拉取时剥离认证头等加固。生产环境建议直接升到本公告列出的安全版本,一并覆盖同批修复。
二、漏洞状态
统计截止: 2026 年 9 月 12 日(UTC+8)
| 项目 | 状态 |
|---|---|
| 漏洞细节 | 已公开(官方 / 第三方通告摘要) |
| PoC | 公开利用链信息有限;偏资源耗尽类 DoS |
| 官方补丁 | 已发布(1.7.35 / 2.0.12 / 2.2.8 / 2.3.5) |
| 在野利用 | 暂未发现大规模在野攻击报道 |
三、影响范围
以下 containerd 版本均受影响(仅 Linux + CRI):
| 版本分支 | 受影响范围 |
|---|---|
| 1.x | github.com/containerd/containerd < 1.7.35 |
| 2.0.x | < 2.0.12 |
| 2.1.x | 已 EOL(不在本次受影响区间表中;仍建议迁出 EOL 分支) |
| 2.2.x | 2.2.0 – 2.2.7(即 ≥ 2.2.0 且 < 2.2.8) |
| 2.3.x | 2.3.0 – 2.3.4(即 ≥ 2.3.0 且 < 2.3.5) |
典型受影响场景:
- 使用 containerd 作为 CRI 的 Kubernetes / 类 K8s 集群节点
- 工作负载中配置了 exec 探针(
execliveness / readiness / startup)或生命周期钩子,且命令会拉起 后台长驻子进程 - 可频繁触发 ExecSync 的环境(探针周期短、多副本叠加时更容易放大泄漏)
不受影响(本 CVE 范围内):
- 未启用 containerd CRI 插件的部署
- 非 Linux 上运行容器的场景
- 仅使用非 ExecSync 路径、且探针 / 钩子不拉起长驻后台子进程的工作负载(实际风险显著降低,但仍建议升级)
四、修复建议
请尽快将 containerd 升级至以下 已修复版本或更高版本:
| 分支 | 最低安全版本 |
|---|---|
| 1.7.x | 1.7.35 |
| 2.0.x | 2.0.12 |
| 2.2.x | 2.2.8 |
| 2.3.x | 2.3.5 |
说明: 1.6.x 等更旧线通常无对应补丁包,应迁到 1.7.35 或当前维护中的 2.x 安全版本。2.1 已 EOL,请规划迁移到受支持分支。
版本检查示例:
bashcontainerd --version
Kubernetes 节点说明: 若节点由发行版或 K8s 安装包自带 containerd,请同步关注 操作系统 / 云厂商 / K8s 发行版 的安全更新通告,按官方渠道升级 containerd 或对应节点组件 / 节点镜像。containerd 属 运行时组件,无 Docker Hub 官方 library/ 应用镜像可直接「换 tag 修掉」,必须在节点侧升级。
五、临时缓解措施
在无法立即完成升级前,建议:
-
审计并改造 exec 探针与生命周期钩子
禁止在探针 / 钩子中拉起长驻后台子进程;探针命令应短生命周期、可预期退出。 -
降低 ExecSync 触发频率
在可接受范围内拉长探针周期、减少无必要的 exec 探针,降低泄漏累积速度。 -
监控 containerd 内存与 OOM
关注containerd进程 RSS / goroutine 异常增长、节点 OOM、kubelet 报 CRI 不可用等信号,异常时及时重启运行时并排查可疑探针配置。 -
仍优先安排正式升级
临时措施无法替代补丁中的超时与 context 取消修复。
六、与轩辕镜像用户的相关说明
轩辕镜像提供的是 镜像加速与拉取服务,不替代 节点上的 containerd 运行时本身。
- 使用轩辕镜像 不会自动修复 本漏洞,仍需在 各节点升级 containerd 至安全版本。
- 我们建议用户:优先升级 containerd,同时继续通过 轩辕镜像专业版 等可信加速源拉取业务镜像,并配合私有仓库与准入策略,降低不可信镜像与恶意配置进入集群的风险。
- 配置与排错可参考:轩辕镜像使用手册、镜像拉取 FAQ。
七、参考链接
- Miggo 漏洞库:CVE-2026-53495
- 阿里云漏洞库(containerd 产品页):AVD · containerd
- 上游修复版本发布页:
- 同批相关:GHSA-rp3h-jf77-q9p4(恶意镜像 unpack 慢速等,无独立 CVE)
- containerd 项目:https://github.com/containerd/containerd
轩辕镜像安全团队
2026 年 9 月 12 日
评论交流
免责声明
本博客文章所提供的内容、技术方案、配置示例及部署指南等信息,仅供学习交流和技术参考使用。文章内容基于发布时的技术环境和版本信息编写,可能因时间推移、技术更新或环境差异而存在不适用的情况。
用户在参考本博客内容进行部署操作前,应当充分了解相关技术风险,并建议在测试环境中进行充分验证和测试,确认无误后再考虑在生产环境中使用。生产环境部署前,请务必进行数据备份,并制定相应的回滚方案。
用户因使用本博客内容进行部署操作而产生的任何损失、数据丢失、系统故障、安全风险或其他问题,均由用户自行承担全部责任。轩辕镜像官方不对因使用本博客内容而产生的任何直接或间接损失承担责任。
本免责声明的最终解释权归轩辕镜像官方所有。
