CVE-2025-13281: Portworx半盲SSRF漏洞分析
漏洞概述
CVE-2025-13281是一个存在于kube-controller-manager中的半盲服务器端请求伪造(SSRF)漏洞,当使用内置的Portworx StorageClass时触发。该漏洞曾针对其他内置StorageClass(GlusterFS、Quobyte、StorageOS和ScaleIO)在CVE-2020-8555中进行了修补。
CVSS评分:CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:C/C:H/I:N/A:N - 中等(5.8)
漏洞详情
攻击原理
拥有使用内置Portworx StorageClass创建Pod权限的攻击者,可以导致kube-controller-manager从控制平面主机网络内部发起GET请求(请求体不受攻击者控制),并使相应的HTTP响应体作为kube-controller-manager创建的事件对象的一部分可见。
影响范围
从v1.31版本开始,通过CSIMigrationPortworx特性门控,内置的Portworx StorageClass已默认禁用。因此,当前支持的版本(大于等于v1.32)除非通过覆盖禁用CSIMigrationPortworx特性门控,否则不受影响。
易受攻击条件
满足以下所有条件时,您的集群可能易受攻击:
- 您正在运行易受攻击的版本,并且手动禁用了CSIMigrationPortworx特性门控。
- 存在仅从控制平面主机网络可见的未受保护端点(包括链路本地元数据端点、监听localhost的未认证服务或控制平面私有网络中的其他服务)。
- 不受信任的用户可以创建使用受影响的Portworx卷类型的Pod。
受影响版本
CSIMigrationPortworx特性门控从v1.31版本开始默认启用。因此,生命周期结束(EOL)的版本(<= v1.30)更可能易受攻击,因为CSIMigrationPortworx功能默认禁用。
- kube-controller-manager: <= v1.30.14
- kube-controller-manager: <= v1.31.14
- kube-controller-manager: <= v1.32.9
- kube-controller-manager: <= v1.33.5
- kube-controller-manager: <= v1.34.1
漏洞缓解措施
修复方法
-
升级到已修复的kube-controller-manager版本:
- kube-controller-manager: >= v1.32.10
- kube-controller-manager: >= v1.33.6
- kube-controller-manager: >= v1.34.2
-
启用CSIMigrationPortworx特性门控(如果在大于等于v1.31的版本中从其默认值被覆盖)。
漏洞检测
在受影响的版本上,如果CSIMigrationPortworx特性门控被禁用,可以通过分析来自kube-controller-manager的ProvisioningFailed事件来检测此问题,这些事件可能包含来自控制平面主机网络的敏感信息。
注意:如果您发现此漏洞被利用的证据,请联系security@kubernetes.io。
修复提交
此漏洞通过以下提交修复:
- kube-controller-manager: master - 清理Portworx内置驱动程序错误的事件消息 #135081
- kube-controller-manager: v1.32.10 - #135081的自动cherry pick:清理Portworx内置驱动程序错误的事件消息 #135193
- kube-controller-manager: v1.33.6 - #135081的自动cherry pick:清理Portworx内置驱动程序错误的事件消息 #135192
- kube-controller-manager: v1.34.2 - #135081的自动cherry pick:清理Portworx内置驱动程序错误的事件消息 #135191
致谢
此漏洞由以下人员报告:
- Xingyu Liu (xingyu@stu.xidian.edu.cn)
- Jinku Li (jkli@xidian.edu.cn)
此问题由以下人员修复和协调:
- Ankit Gohil @gohilankit