近日Kubernetes社区披露了安全漏洞CVE-2022-3162,对于任意可在命名空间内创建的自定义资源,如果攻击者被授予了关于该自定义资源集群维度的listwatch权限时,该攻击者可以利用漏洞在未授权时,读取同一API组中不同类型自定义资源实例。

CVE-2022-3162漏洞被评估为中危漏洞。在CVSS的评分为6.5

影响范围

下列版本的kube-apiserver组件均在该漏洞影响范围内:

  • v1.25.0~v1.25.3
  • v1.24.0~v1.24.7
  • v1.23.0~v1.23.13
  • v1.22.0~v1.22.15
  • ≤v1.21

社区在下列版本中修复了该问题:

  • v1.25.4
  • v1.24.8
  • v1.23.14
  • v1.22.16

关于该漏洞的详细信息,请参见#113756

漏洞影响

如果集群同时满足以下条件,则该集群就在该漏洞影响范围内,攻击者就可以利用漏洞在未授权时,读取同一API组中不同类型自定义资源实例。

  • 集群中部署了2个以上共享同一API组的CustomResourceDefinitions自定义资源。
  • 用户被授予了其中一个CRD自定义资源集群维度的listwatch权限,但未被授权读取同一API组中的另一个自定义资源的权限。

如何防范

  1. 严格控制集群内自定义资源在整个集群维度的listwatch的RBAC权限。
  2. 集群APIServer审计日志中某请求路径中包含了..字符,则集群可能受到了该漏洞攻击。
  3. 您可以关注容器服务ACK版本发布公告,通过升级集群操作完成修复。升级具体操作,请参见升级ACK集群K8s版本