You need to enable JavaScript to run this app.
导航

Kubernetes 安全漏洞公告(CVE-2020-8554)

最近更新时间2023.12.11 15:19:27

首次发布时间2023.12.11 15:19:27

安全漏洞 CVE-2020-8554 由 Kubernetes 社区披露,攻击者可以利用此漏洞通过 LoadBalancer 或 ExternalIP 类型的 Service 地址执行中间人 (MITM) 攻击。

漏洞级别

CVE-2020-8554 漏洞被评估为 中危漏洞,在 CVSS 的评分为 3.0

影响范围

Kubernetes 版本小于 v1.29 的集群都会受到影响,更多修复计划请参见 #97110

漏洞影响

具有创建和更新 Service 和 Pod 权限的攻击者可以通过配置 Service 中的spec.externalIPs字段拦截访问此 IP 的流量,并将流量转发到由该 Service 创建的恶意 Pod;攻击者还可以通过配置spec.loadBalancerIP字段并更新status.loadBalancer.ingress.ip字段,实现流量拦截和转发的 MIIT 攻击。

防范措施

由于对该问题的修复涉及到较大的修改,社区目前对于该问题的修复只发布在 v1.29 版本,尚未回合到旧版本。因此对于 Kubernetes 版本小于 v1.29 的集群有必要采取防范和规避操作。使用者需检查正在使用的 External IP 和 LoadBalancer IP Service 以确认是否存在易受攻击的 Service,具体防范措施如下:

  • 限制 External IP 地址的使用:
    • 使用 Admission Webhook 来验证和授权 External IP 地址,详情请参见 Kubernetes 社区提供的源代码和部署信息 externalip-webhook
    • 使用开源的 OPA Gatekeeper 来约束 External IP 地址范围,详情请参见 OPA 社区针对 IP 地址提供的ConstraintTemplate 和 Constraint 示例模板 externalip
  • 限制 LoadBalancer 类型 Service 对 IP 地址的使用:
    • 最大限度地减少对 Service 的Status字段进行 Update/Patch 的权限。
    • 参考对 External IP 的约束方式,使用 Admission Webhook 或 OPA Gatekeeper 来限制 LoadBalancer 类型 Service 可使用的 External IP 地址。

容器服务会跟踪社区对旧版本的修改意见,请关注容器服务产品公告。

相关链接

  • CVE-2020-8554 社区漏洞 Issue:#97076
  • v1.29 版本已有修复:#119150