Kubernetes CSI-Proxy权限提升漏洞(CVE-2023-3893)技术分析与修复方案

本文详细分析了Kubernetes CVE-2023-3893安全漏洞的技术细节,该漏洞由于kubernetes-csi-proxy输入验证不足,导致攻击者可在Windows节点上实现权限提升。文章涵盖了受影响版本、漏洞缓解措施、修复版本及升级步骤等技术内容。

CVE-2023-3893: kubernetes-csi-proxy输入验证不足导致权限提升

漏洞描述

CVSS评分: CVSS:3.1/av:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - HIGH (8.8)

在Kubernetes中发现一个安全漏洞,能够在Windows节点上创建Pod的用户可能利用此漏洞提升到这些节点上的管理员权限。只有在包含运行kubernetes-csi-proxy的Windows节点的Kubernetes集群才会受到影响。

受影响范围

我是否受影响?

任何包含运行kubernetes-csi-proxy的Windows节点的Kubernetes环境都会受到影响。这是Windows节点上常见的默认配置。运行kubectl get nodes -l kubernetes.io/os=windows命令可以查看是否有Windows节点在使用。

受影响版本

  • kubernetes-csi-proxy <= v2.0.0-alpha.0
  • kubernetes-csi-proxy <= v1.1.2

缓解措施

提供的补丁完全缓解了该漏洞,且没有已知的副作用。完全缓解此类问题需要应用针对CVE-2023-3676、CVE-2023-3955和CVE-2023-3893的补丁。

除了应用提供的补丁外,没有其他已知的缓解措施。

修复版本

升级步骤

升级流程:隔离节点 -> 停止相关Windows服务 -> 替换csi-proxy.exe二进制文件 -> 重启相关Windows服务 -> 取消隔离节点。

详细安装文档请参阅:https://github.com/kubernetes-csi/csi-proxy#installation

如果使用Windows主机进程守护进程集来运行kubernetes-csi-proxy(如https://github.com/kubernetes-csi/csi-driver-smb/blob/master/charts/latest/csi-driver-smb/templates/csi-proxy-windows.yaml),只需将镜像升级到固定版本,例如ghcr.io/kubernetes-sigs/sig-windows/csi-proxy:v1.1.3

检测方法

Kubernetes审计日志可用于检测此漏洞是否正在被利用。包含嵌入式PowerShell命令的Pod创建事件是强烈利用迹象。

如果发现此漏洞已被利用的证据,请联系security@kubernetes.io。

致谢

此漏洞由James Sturtevant (@jsturtevant)和Mark Rossetti (@marosset)在修复CVE-2023-3676的过程中发现(原始CVE由Tomer Peled @tomerpeled92报告)。

修复团队

  • James Sturtevant @jsturtevant
  • Mark Rossetti @marosset
  • Andy Zhang @andyzhangx
  • Justin Terry @jterry75
  • Kulwant Singh @KlwntSingh
  • Micah Hausler @micahhausler
  • Rita Zhang @ritazh

发布经理

  • Mauricio Poppe @mauriciopoppe

元数据

标签

  • area/kubelet
  • area/security
  • committee/security-response
  • kind/bug
  • lifecycle/frozen
  • official-cve-feed
  • sig/windows
  • triage/accepted

状态:已完成

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计