近日Kubernetes社区披露了安全漏洞CVE-2022-3162,对于任意可在命名空间内创建的自定义资源,如果攻击者被授予了关于该自定义资源集群维度的list
或watch
权限时,该攻击者可以利用漏洞在未授权时,读取同一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自定义资源集群维度的
list
和watch
权限,但未被授权读取同一API组中的另一个自定义资源的权限。
如何防范
- 严格控制集群内自定义资源在整个集群维度的
list
或watch
的RBAC权限。 - 集群APIServer审计日志中某请求路径中包含了
..
字符,则集群可能受到了该漏洞攻击。 - 您可以关注容器服务ACK版本发布公告,通过升级集群操作完成修复。升级具体操作,请参见升级ACK集群K8s版本。