云原生安全领域近期传来一则不容忽视的警报。作为 Kubernetes 生态中被广泛采纳的策略引擎,Kyverno 被披露存在一个编号为 CVE-2026-54523 的严重缺陷,CVSS 评分高达 9.6,几乎触及满分。这一漏洞的特殊之处在于,它并非通过复杂的外部渗透实现,而是直接从内部瓦解了 Kubernetes 最核心的安全边界——命名空间隔离。
问题的核心出在 Kyverno 的命名空间生成策略(NamespacedGeneratingPolicy)机制上。在设计上,该功能允许租户在自身命名空间内创建策略,并由后台控制器执行资源生成操作。然而,其 CEL 生成器中的generator.apply()函数在接收目标命名空间参数时,完全未对参数进行归属校验。这意味着一个普通租户可以将生成器指向集群中的任意命名空间,包括承载核心系统组件的 kube-system。
Kyverno 的后台控制器在集群中通常拥有相当宽泛的 RBAC 权限,默认情况下能够跨命名空间创建 RoleBinding、Role、ConfigMap 及 NetworkPolicy 等资源。当租户利用这一漏洞下发指令时,控制器会忠实执行,相当于将自身的集群级权限“出借”给了原本只应拥有局部权限的命名空间用户。攻击者可以借此在 kube-system 或其他关键命名空间中创建高权限角色绑定,从而将自身的权限范围从单一命名空间直接拉升至整个集群的管理员级别。
这种攻击路径的隐蔽性在于,它完全绕过了 Kubernetes 原生的 RBAC 审查。平台团队授予租户的“局部策略创建权”本意是安全自治,却因 Kyverno 内部的校验缺失而变成了特权扩散的通道。更令人担忧的是,该漏洞的技术细节与概念验证代码(PoC)已随同厂商公告一并公开,这意味着利用门槛极低,具备基本 Kubernetes 操作知识的攻击者即可复现。
从影响面来看,所有运行 Kyverno 1.18.1 及更早版本的集群均处于风险暴露状态。厂商早在 2026 年 5 月 20 日便已在主分支上确认了该问题,但公开披露与 PoC 的发布意味着留给防御方的时间窗口正在收窄。截至目前,尚未有公开确认的实际利用案例,但鉴于漏洞的公开性和易用性,被动等待显然不是明智之举。
修复方案已经明确。Kyverno 官方在 v1.18.2 版本中彻底封堵了这一权限提升路径。对于运维团队而言,升级至该版本是当前最优先的处置动作。在无法立即完成版本升级的环境中,建议立即审计并收紧 NamespacedGeneratingPolicy 的创建权限,撤销所有非必要的访问授权,尤其要排查那些拥有策略创建权限但不应具备集群管理能力的租户账号。
这一事件再次凸显了云原生环境中“权限最小化”原则的重要性。当平台组件自身成为权限放大的跳板时,传统的边界防御模型便会失效。Kyverno 作为安全治理工具,其自身的安全漏洞反而可能成为集群内最大的风险敞口,这值得每一位平台工程师和安全运维人员深思。