发布日期: 2026 年 10 月 13 日
风险等级: 高危(High)
漏洞编号: CVE-2026-109359 · CVE-2026-109358
CVSS: 7.8(High,CVE-2026-109358);CVE-2026-109359 为 7.7
披露时间: 2026 年 10 月,Edgeless 安全公告
相关公告: GHSA-rxcv-p3px-m3c3 · GHSA-376m-h37w-4rvq
一、漏洞概述
Contrast 是 Edgeless 的机密容器方案。Coordinator 负责协调面,node installer 会在节点上写下 containerd 配置。两条问题彼此独立,修复版本都是 1.24.1。
CVE-2026-109359: Coordinator 做对等恢复时,没有确认对端用的是同一份 manifest generation。攻击者如果能写入 manifest 历史,可以重放已经撤销的 history head,让已撤回的工作负载仍拿到受信任的 mesh 证书。再掌握 secret seed 时,还可能导致 Mesh CA 私钥泄露。
CVE-2026-109358: node installer 写宿主机 containerd 配置时权限是 0666。本地低权限用户只要能访问该配置目录,就可以改配置,例如换掉 runc 路径,从而在节点上提权。
二、漏洞状态
统计截止: 2026 年 10 月 13 日(UTC+8)
| 项目 | 状态 |
|---|---|
| 漏洞细节 | 已公开(Edgeless 安全公告、NVD 已收录 CVE-2026-109359) |
| 受影响版本 | Contrast 1.8.0 至 1.24.0(低于 1.24.1) |
| 官方补丁 | 1.24.1 及更高。升级不会自动改掉已经写成 0666 的文件 |
| CISA KEV | 未列入 |
| CVE | CVSS | 要点 | 前置条件 |
|---|---|---|---|
| CVE-2026-109359 | 7.7 High | 对等恢复不核对 manifest generation,可重放已撤销的 history head | 能写 manifest 历史;若再有 secret seed,Mesh CA 私钥风险更高。网络能到达 Coordinator 时风险更高 |
| CVE-2026-109358 | 7.8 High | node installer 将 containerd 配置写成 0666,本地可改配置并提权 | 配置目录对非特权用户可读可写。k3s 把配置放在仅 root 可访问的目录时,一般不受影响 |
三、影响范围
1. 版本
| 组件 | 受影响范围 | 修复 |
|---|---|---|
| Contrast Coordinator | 1.8.0 ≤ 版本 < 1.24.1 | ≥ 1.24.1 |
| Contrast node installer | 1.8.0 至 1.24.0 | ≥ 1.24.1,并手动收紧已有配置文件权限 |
部署了 Contrast 机密容器协调面的环境看 CVE-2026-109359。跑过旧版 node installer、且 containerd 配置目录不是仅特权用户可访问的节点,看 CVE-2026-109358。
官方组件经 Edgeless 与 GHCR 分发。修复随 Contrast 1.24.1 发行,不是某一条业务镜像标签。
2. 典型受影响场景
- Coordinator 对不可信网络可达,且有人能写入 manifest 历史
- 节点上的 containerd 配置是 0666,普通用户能进该目录
- 集群曾经用低于 1.24.1 的 node installer 写过配置,后来只升了程序、没有改文件权限
k3s 将 containerd 配置放在仅 root 可访问的目录时,CVE-2026-109358 一般打不到。Coordinator 那条仍取决于版本和谁能写 manifest 历史。
四、修复建议
1. 升级到 Contrast 1.24.1 或更高(推荐)
两条一起升。目标版本是 1.24.1 或更高。从 Edgeless 官方仓库取得这一版,替换 Coordinator 与 node installer,再滚动相关节点。
不要把未核对过的镜像标签当成 1.24.1。
2. 手动收紧已经写成 0666 的配置
升级不会改掉旧文件的权限。曾经跑过 1.24.1 之前 node installer 的集群需要额外做:
- 把已生成的 containerd 配置改成 root 所有,权限例如 0640。
- 配置所在目录只允许特权用户访问。
- 核对配置里的运行时路径仍是本节点预期的 runc,而不是后来被改过的路径。
k3s 上配置目录本来就只给 root 时,这一步通常已经满足,仍建议核对一次实际权限。
3. 升级后处理可能已重放的工作负载
如果不可信方曾经能写 manifest 历史,按已撤销工作负载可能仍持有 mesh 证书处理:升到 1.24.1 后核对 history head,轮换相关证书与 secret seed 所能接触的密钥。
五、临时缓解措施
在完成升级之前:
-
不要把 Coordinator 暴露到不可信网络
对等恢复接口只留给协调面自己的节点。 -
收紧 manifest 历史的写权限
能追加或改写历史的身份越少,重放已撤销 head 的条件越难凑齐。 -
先把 0666 的配置文件收成特权用户专有
在还没升到 1.24.1 时,也可以先改权限。下一次旧版 installer 再写文件时仍可能写回 0666,所以权限收紧不能代替升级。
六、与轩辕镜像用户的相关说明
Contrast 从 Edgeless 官方仓库与 GHCR 发行。请升级到 1.24.1 或更高。加速拉取业务镜像不会更换 Coordinator,也不会把已经写成 0666 的 containerd 配置改回来。
七、参考链接
- Edgeless:GHSA-rxcv-p3px-m3c3(CVE-2026-109359)
- Edgeless:GHSA-376m-h37w-4rvq(CVE-2026-109358)
- NVD:CVE-2026-109359
轩辕镜像安全团队
2026 年 10 月 13 日
评论交流
免责声明
本博客文章所提供的内容、技术方案、配置示例及部署指南等信息,仅供学习交流和技术参考使用。文章内容基于发布时的技术环境和版本信息编写,可能因时间推移、技术更新或环境差异而存在不适用的情况。
用户在参考本博客内容进行部署操作前,应当充分了解相关技术风险,并建议在测试环境中进行充分验证和测试,确认无误后再考虑在生产环境中使用。生产环境部署前,请务必进行数据备份,并制定相应的回滚方案。
用户因使用本博客内容进行部署操作而产生的任何损失、数据丢失、系统故障、安全风险或其他问题,均由用户自行承担全部责任。轩辕镜像官方不对因使用本博客内容而产生的任何直接或间接损失承担责任。
本免责声明的最终解释权归轩辕镜像官方所有。
