CVE-2025-2843CVE-2025-2843是Red Hat Observability Operator中的一个高危权限提升漏洞,CVSS评分高达8.8。该漏洞源于Operator在部署Namespace-Scoped的MonitorStack自定义资源时,会创建一个具有ClusterRole权限的ServiceAccount。这一设计缺陷允许具有命名空间级别权限的恶意用户(如租户管理员)通过创建MonitorStack资源来获取集群级别的特权。具体而言,攻击者只需拥有目标命名空间的编辑或管理权限,即可部署MonitorStack自定义资源。Operator会自动创建一个专用的ServiceAccount,并为其绑定到集群级别的ClusterRole,从而赋予该ServiceAccount超越其命名空间范围的权限。攻击者随后可以冒充这个被提升权限的ServiceAccount,执行原本需要集群管理员权限的操作。这种权限提升可能导致严重的安全后果,包括但不限于:访问集群中其他命名空间的敏感数据、修改关键配置、部署恶意资源,甚至可能获取整个Kubernetes集群的控制权。该漏洞影响了Observability Operator的多个版本,需要及时应用安全更新。
漏洞原理:Observability Operator在处理MonitorStack自定义资源时存在权限配置错误。Operator的设计意图是为MonitorStack提供监控功能,但它错误地在命名空间作用域的资源部署中引入了集群级别的权限。技术细节:1. 资源创建:当用户在命名空间中创建MonitorStack资源时,Operator会自动创建一个专用的ServiceAccount(如monitorstack-operator),并为该ServiceAccount创建ClusterRoleBinding或RoleBinding,绑定到具有集群管理员权限的ClusterRole。2. 权限提升机制:正常情况下,命名空间作用域的资源不应具有集群级别权限,Operator将ClusterRole权限授予了Namespace-Scoped的MonitorStack创建的ServiceAccount,这违反了最小权限原则,造成权限扩散。3. 攻击利用:攻击者获取目标命名空间的管理权限后,创建MonitorStack资源触发Operator创建特权ServiceAccount,然后通过Kubernetes API冒充该ServiceAccount,利用获得的集群级别权限执行恶意操作。4. 影响范围:所有部署了Observability Operator的Kubernetes集群,使用MonitorStack自定义资源的命名空间,以及具有创建自定义资源权限的所有用户。