漏洞CVE-2025-5187公告

近期,Kubernetes 社区披露了安全漏洞 CVE-2025-5187。攻击者在拥有节点修改权限的情况下,可利用 NodeRestriction 控制器的漏洞,通过为节点添加指向特定资源的 OwnerReference 元数据来删除该节点对象。若 OwnerReference 中定义的目标资源不存在或后续被删除,相关节点对象将通过垃圾回收机制被移除。

默认情况下,集群的节点运维用户虽有权创建或更新其节点对象,但无权删除。由于 NodeRestriction 准入控制器未能阻止对节点 OwnerReferences 的更新,被入侵的节点可利用此漏洞进行删除和重建。这将允许攻击者绕过 NodeRestriction 控制器对节点自身污点或标签的修改限制,从而使用修改后的配置重建节点,并控制在该节点上运行的 Pod。

该漏洞被评为中危,CVSS 评分为 6.7。更多社区披露信息,请参阅 #133471

影响范围

以下社区版本的kube-apiserver均受此漏洞影响:

  • kube-apiserver:<= v1.31.11

  • kube-apiserver:<= v1.32.7

  • kube-apiserver:<= v1.33.3

ACK 已在 1.32.7 和 1.33.3 版本的集群中完成此漏洞的修复。

检测方式

正常情况下,kubelet 不会发起修改自身 OwnerReferences 的请求。您可以使用集群API Server审计功能,在审计日志中执行以下检索语句,排查是否存在针对节点 OwnerReferences 的可疑更新操作。

ownerReferences and verb: patch and objectRef.resource: nodes

如下图所示,当前未查询到日志,则表明不存在异常操作。

image

防范措施

您可以参见以下措施进行防范。

1. 升级集群

请将集群升级至 1.32.71.33.3 版本。

关于集群升级说明、升级影响、注意事项等,请参见升级集群;关于如何升级集群,请参见手动升级集群

2. 启用 OwnerReferencesPermissionEnforcement

请配置kube-apiserver组件参数,开启 OwnerReferencesPermissionEnforcement 准入控制器。该控制器可保护对目标对象 OwnerReferences 的访问,确保只有具备删除权限的用户才能修改对象。

启用方式,请参见自定义Pro版集群的控制面组件参数

image