🔴 【深度分析】严重安全漏洞:CVE-2026-49445

CVSS 评分: 严重(9.2)🔴  状态: Analyzed  发布时间: 2026-07-15


🔍 技术细节速览

字段 值
CVE ID CVE-2026-49445
CVSS 评分 9.2 🔴
严重程度 严重
CVSS 向量 CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:L/A:H
CWE 分类 CWE-732
发布时间 2026-07-15
最后更新 2026-07-17
状态 Analyzed
数据来源 security-advisories@github.com


⚠️ CVSS 评分:9.2(严重)
向量:CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:L/A:H
影响范围:跨安全域(Scope Changed)
危害等级:Critical


漏洞概述

Cilium 是一个基于 eBPF 的云原生网络、可观测性与安全解决方案,广泛应用于 Kubernetes 集群中。当 Cilium 启用 L7(七层网络)功能(如 HTTP、gRPC、Kafka 等应用层协议策略控制)时,其内置或独立运行的 Envoy 代理实例会在集群节点上创建一个全局可访问的 admin.sock Unix 域套接字。

本地攻击者(例如通过容器逃逸或获得节点 shell)可利用该套接字直接访问 Envoy 的管理接口(admin endpoint),进行以下恶意操作:

  • 读取 Envoy 内存中的 TLS 私钥证书(通过 /certs 接口);
  • 动态调整 Envoy 配置(通过 POST /config_dump、/logging 等接口),破坏或重定向集群流量;
  • 直接关闭或重启 Envoy 进程,造成服务中断。

该漏洞的根源在于 admin.sock 文件的权限控制缺失(CWE-732:对关键资源的不正确权限分配),导致任何本地用户均可与之交互。


受影响组件与版本

组件 受影响版本范围 修复版本
Cilium (社区版) < 1.17.14 1.17.14
Cilium (社区版) 1.18.0 - 1.18.7 1.18.8
Cilium (社区版) 1.19.0 - 1.19.1 1.19.2

注意:所有启用了 L7 网络功能(即配置了 HTTP、gRPC、Kafka 等应用层策略)的 Cilium 部署均受影响。仅使用 L3/L4 网络策略(无七层功能)的配置默认不受影响。


漏洞原理分析

技术背景

Cilium 的七层网络策略依赖 Envoy 作为代理。当 L7 策略被启用时,Cilium 会在每个集群节点上启动一个 Envoy 实例(可内嵌于 Cilium Agent 进程,或作为独立 sidecar 进程)。Envoy 默认会创建一个 Unix Domain Socket(admin.sock)用于接收管理命令。

漏洞成因

在受影响的版本中,admin.sock 被创建在 CILIUM_STATE_DIR/envoy/ 路径下(通常为 /var/run/cilium/envoy/admin.sock),但其文件权限设置为 0777(全球可读写),而非正确的仅允许 Cilium Agent 进程所有者(如 cilium 用户)访问。

具体而言:

  1. 权限缺失:Unix 域套接字的权限位未与 Cilium Agent 的运行用户绑定,导致节点上任何用户(包括低权限容器内进程)均可打开该套接字。
  2. 无认证机制:Envoy 的管理接口不要求任何身份验证令牌。攻击者仅需对该套接字发起 HTTP 请求,即可执行 admin 端点上的所有操作。
  3. 信息泄露:/certs 端点会返回 Envoy 加载的所有 TLS 证书及私钥,包括用于通信加密的集群内部证书。攻击者可一次性窃取全部凭据。

攻击向量

根据 CVSS 向量 AV:L/AC:L/PR:N/UI:N/S:C:

  • 攻击向量 (AV:L):攻击者需要本地访问(即获得节点 shell 或容器内 exec 权限)。常见场景包括:容器逃逸、利用其他漏洞提升至节点级别、云环境中的元数据服务滥用。
  • 攻击复杂度 (AC:L):攻击者无需绕过复杂环境。只要本地用户能够访问 /var/run/cilium/envoy/admin.sock,即可直接利用。默认 Docker 模式下的容器常以 root 运行,可轻易触及该 sock。
  • 权限要求 (PR:N):不需要任何特殊权限,普通用户即可执行攻击。
  • 用户交互 (UI:N):无需受害者操作。
  • 作用域变化 (S:C):攻击者能突破 Envoy 进程所在的安全沙箱,影响到 Cilium 集群层面的全局安全策略,属于跨域影响。

典型利用步骤

# 假设攻击者已获得节点 shell 或容器内 root
cd /var/run/cilium/envoy
curl -s --unix-socket admin.sock http://localhost/certs
# 返回 JSON 包含所有 TLS 私钥
curl -s --unix-socket admin.sock http://localhost/logging?level=debug
# 修改日志级别,为后续攻击做准备
curl -s -X POST --unix-socket admin.sock http://localhost/quitquitquit
# 直接终止 Envoy 进程

影响评估

实际威胁等级:高(严重性 9.2)

影响面 严重程度 说明
机密性 高 (C:H) 攻击者可获取所有 TLS 私钥,解密集群内所有加密流量,获取敏感业务数据。
完整性 低 (I:L) 攻击者可修改 Envoy 的日志级别或部分配置,但完整配置变更需要更深入数据,因此完整性影响设为低。
可用性 高 (A:H) 攻击者可轻松终止 Envoy 进程,使所有经过该节点的七层流量中断,造成服务不可用。

利用条件

  • 必备:攻击者必须拥有集群节点上的本地用户权限(容器内 root 或节点 shell)。
  • 触发:无需用户交互,无需特殊触发条件。
  • 难度:低。admin.sock 权限未收窄,且 Envoy admin 接口无认证。

潜在后果链

  1. 攻击者通过低权限容器获得本地访问 → 访问 admin.sock
  2. 获取 TLS 私钥 → 解密所有南北/东西向加密流量
  3. 获取的私钥可用于伪造身份 → 横向移动至其他服务
  4. 终止 Envoy 进程 → 造成七层流量中断,触发集群健康检查失败、Pod 重启、DNS 超时等连锁反应
  5. 攻击者可通过修改 Envoy 日志级别隐藏痕迹 → 进一步掩盖恶意行为

修复建议

立即修复(推荐)

  • 升级 Cilium 至修复版本:
    • 1.17.x → 1.17.14 或更高
    • 1.18.x → 1.18.8 或更高
    • 1.19.x → 1.19.2 或更高

临时缓解措施(无法立即升级时)

  1. 手动修改 socket 权限(重启后失效,需持久化):

    chmod 0700 /var/run/cilium/envoy/admin.sock
    

    或更严格地限制为仅 Cilium Agent 用户可访问:

    chown cilium:cilium /var/run/cilium/envoy/admin.sock
    chmod 0600 /var/run/cilium/envoy/admin.sock
    
  2. 禁用 L7 功能:在 CiliumEnvoyConfig 或 NetworkPolicy 中移除所有七层策略规则,回退至纯 L3/L4 模式。注意:此举将失去应用层策略控制能力。

  3. 部署 hostPort/hostNetwork 限制:使用 Kubernetes PodSecurityPolicy 或 PSA 限制容器以 hostNetwork: true 运行,减少对节点本地 socket 的访问暴露面。

  4. 启用系统调用过滤(seccomp):限制容器内进程对 unix(7) socket 的访问,阻止其打开非本命名空间的域套接字。

  5. 监控告警:在告警系统中配置对 admin.sock 的异常访问检测(如非 Cilium Agent 进程调用 connect() 到该 socket)。


参考资料

类型 链接
CVE 详情 https://nvd.nist.gov/vuln/detail/CVE-2026-49445
CWE-732 https://cwe.mitre.org/data/definitions/732.html
Cilium 安全公告 (GitHub) https://github.com/cilium/cilium/security/advisories/GHSA-xxxx-xxxxx (待官方披露)
Cilium 官方文档 - 升级指南 https://docs.cilium.io/en/latest/operations/upgrade/
Envoy Admin 接口文档 https://www.envoyproxy.io/docs/envoy/latest/operations/admin
CVSS v3.1 规范 https://www.first.org/cvss/v3-1/

分析师建议:Cilium 团队应审查所有 Unix Domain Socket 的创建过程,强制遵循最小权限原则(即仅允许进程所有者访问)。同时建议在 Envoy 的 Admin 接口中增加可选身份认证机制(如 mTLS 或 token),以避免类似漏洞反复出现。对于使用 Cilium 的集群,建议立即安排升级窗口,优先修复此严重影响集群安全与稳定性的漏洞。