安全公告

本主题介绍 Anthos clusters on VMware (GKE On-Prem) 的所有安全公告。

漏洞通常有一段时间的保密期,以便给受影响的各方留出时间来解决这些问题。在这种情况下,Anthos clusters on VMware 的版本说明会在保密期结束前使用“安全更新”来泛指这些漏洞。保密期结束后,我们会更新版本说明,以阐明补丁程序所解决的漏洞。

如需接收最新安全公告,请将本页面的网址添加到您的 Feed 阅读器

GCP-2021-001

发布日期:2021-01-28
说明 严重级别 备注

近期在 Linux 实用程序 sudo 中发现了一个漏洞(如 CVE-2021-3156 中所述),该漏洞可能会允许具有非特权本地 shell 的攻击者访问安装了 sudo 的系统,将其权限升级为系统 root 权限。

Anthos clusters on VMware 不受此漏洞的影响:

  • 经授权可通过 SSH 访问 Anthos clusters on VMware 节点的用户已被视为具有高度特权,可以从设计上使用 sudo 获取 root 权限。在这种情况下,该漏洞不会产生任何其他权限升级路径。
  • 大多数 Anthos clusters on VMware 系统容器都是通过未安装 shell 或 sudoDistroless 基础映像构建的。其他映像是通过不包含 sudo 的 debian 基础映像构建的。即使存在 sudo,但由于容器边界问题,容器内部对 sudo 的访问权限并不授予您访问主机的权限 。

此漏洞可以在客户拥有的应用容器中使用,以在容器内部将权限升级为 root 权限。如果应用容器设计为以非 root 权限运行,请考虑将容器基础映像更新为包含修复程序的版本。

该怎么做?

由于 Anthos clusters on VMware 不受此漏洞的影响,因此无需采取进一步行动。

Anthos clusters on VMware 将定期在未来的版本中应用此漏洞的补丁程序。

CVE-2021-3156

GCP-2020-015

发布日期:2020-12-07
说明 严重级别 备注

Kubernetes 项目最近发现新的安全漏洞 CVE-2020-8554,它可能允许已获得创建 LoadBalancer 或 ClusterIP 类型的 Kubernetes Service 的权限的攻击者拦截来自集群中其他 pod 的网络流量。

此漏洞本身不会给予攻击者创建 Kubernetes Service 的权限。

所有 Anthos clusters on VMware 节点都会受到此漏洞的影响。

该怎么做?

Kubernetes 可能需要在未来版本中进行向后不兼容性的设计更改,以解决该漏洞。

如果许多用户共享集群的访问权限并具有创建 Service 的权限(例如在一个多租户集群中),请考虑同时应用缓解措施。目前,最好的缓解方法是限制 ExternalIP 在集群中的使用。ExternalIP 不是常用功能。

通过以下任方法限制 ExternalIP 在集群中的使用:
  1. 将 Anthos 政策控制器或 Gatekeeper 与此限制条件模板结合使用,并加以应用。例如:
    
    # Only allow the creation of Services with no
    # ExternalIP or an ExternalIP of 203.0.113.1:
    
    apiVersion: constraints.gatekeeper.sh/v1beta1
    kind: K8sExternalIPs
    metadata:
      name: external-ips
    spec:
      match:
        kinds:
          - apiGroups: [""]
            kinds: ["Service"]
      parameters:
        allowedIPs:
          - "203.0.113.1"
    
  2. 或者安装准入控制器以防止使用 ExternalIP。Kubernetes 项目为此任务提供了准入控制器示例

Kubernetes 公告中所述,不会为 LoadBalancer 类型的 Service 的提供缓解措施,因为默认情况下,仅高权限用户和系统组件会被授予利用此漏洞所需的 container.services.updateStatus 权限

CVE-2020-8554

GCP-2020-014

发布日期:2020-10-20
更新日期:2020-10-10
说明 严重级别 备注

Kubernetes 项目最近发现了多个问题,这些问题导致在启用详细日志记录选项时 Secret 数据泄露。这些问题包括:

  • CVE-2020-8563:vSphere 提供商的 kube-controller-manager 日志中发生 Secret 泄露
  • CVE-2020-8584:当文件格式错误且日志级别大于等于 4 时,Docker 配置 Secret 发生泄露
  • CVE-2020-8565:当日志级别大于等于 9 时,Kubernetes 中 CVE-2019-11250 的不完整的修复程序导致日志中发生令牌泄露。由 GKE 安全发现。
  • CVE-2020-8566:当日志级别大于等于 4 时,日志中发生 Ceph RBD adminSecret 泄露

GKE On-Prem 不受影响。

该怎么做?

由于 GKE 的默认详细日志记录级别,无需执行任何进一步操作。

GCP-2020-012

发布日期:2020-09-14
更新日期:2020-09-17
说明 严重级别 备注

近期在 Linux 内核中发现了一个漏洞(如 CVE-2020-14386 中所述),该漏洞可能会使容器逃逸,从而获取对主机节点的 root 权限。

所有 Anthos clusters on VMware 节点都会受到影响。

该怎么做?

如需修复此漏洞,请将您的集群升级到修补后的版本。以下即将发布的 Anthos clusters on VMware 版本将包含针对此漏洞的修补程序,在这些版本发布后,本公告会进行更新:

  • Anthos clusters on VMware 1.4.3 现已发布。
  • Anthos clusters on VMware 1.3.4 现已发布。

利用此漏洞需要 CAP_NET_RAW,但极少数的容器通常需要 CAP_NET_RAW。默认情况下,应通过 PodSecurityPolicy 或 Policy Controller 阻止此功能和其他强大的功能:

可以使用以下方法之一从容器中删除 CAP_NET_RAW 功能:

  • 使用 PodSecurityPolicy 强制阻止这些功能,例如:
    
          # Require dropping CAP_NET_RAW with a PSP
          apiversion: extensions/v1beta1
          kind: PodSecurityPolicy
          metadata:
            name: no-cap-net-raw
          spec:
            requiredDropCapabilities:
              -NET_RAW
               ...
               # Unrelated fields omitted
          
  • 或者将 Policy Controller 或 Gatekeeper 与此限制条件模板结合使用,并加以应用,例如:
    
          # Dropping CAP_NET_RAW with Gatekeeper
          # (requires the K8sPSPCapabilities template)
          apiversion: constraints.gatekeeper.sh/v1beta1
          kind:  K8sPSPCapabilities
          metadata:
            name: forbid-cap-net-raw
          spec:
            match:
              kinds:
                - apiGroups: [""]
                kinds: ["Pod"]
              namespaces:
                #List of namespaces to enforce this constraint on
                - default
              # If running gatekeeper >= v3.1.0-beta.5,
              # you can exclude namespaces rather than including them above.
              excludedNamespaces:
                - kube-system
            parameters:
              requiredDropCapabilities:
                - "NET_RAW"
          
  • 或者更新您的 Pod 规范:
    
          # Dropping CAP_NET_RAW from a Pod:
          apiVersion: v1
          kind: Pod
          metadata:
            name: no-cap-net-raw
          spec:
            containers:
              -name: my-container
               ...
              securityContext:
                capabilities:
                  drop:
                    -NET_RAW
          

该补丁程序解决了什么漏洞

该补丁程序缓解了以下漏洞所带来的影响:

漏洞 CVE-2020-14386, 该漏洞允许具有 CAP_NET_RAW 的容器
写入 1 到 10 个字节的内核内存,可能会使容器逃逸并获取对主机节点的 root 权限。此漏洞的严重级别评级为“高”。

CVE-2020-14386

GCP-2020-011

发布日期:2020-07-24
说明 严重级别 备注

最近在 Kubernetes 中发现了一个网络漏洞 CVE-2020-8558。服务有时会使用本地环回接口 (127.0.0.1) 与同一 pod 中运行的其他应用通信。利用此漏洞,有权访问集群网络的攻击者能够将流量发送到相邻 pod 和节点的环回接口。如果服务依赖于无法在其 pod 之外访问的环回接口,则攻击者可以利用这些服务。

该怎么做?

如需修复此漏洞,请将您的集群升级到修补后的版本。以下 Anthos clusters on VMware 版本或更高版本包含针对此漏洞的修补程序:

  • Anthos clusters on VMware 1.4.1
  • Anthos clusters on VMware 1.3.5

该补丁程序解决了什么漏洞?

此补丁程序修复了以下漏洞:CVE-2020-8558

CVE-2020-8558

GCP-2020-009

发布日期:2020-07-15
说明 严重级别 备注

最近在 Kubernetes 中发现了一个提权漏洞 CVE-2020-8559。利用此漏洞,已破解节点的攻击者能够在集群中的任何 pod 中执行命令。因此,攻击者可以使用已被破解的节点来破解其他节点并且可能读取信息,或者导致破坏性操作。

请注意,集群中的某个节点必须已被破解,攻击者才能利用此漏洞。此漏洞本身不会破解集群中的任何节点。

该怎么做?

将集群升级到修补后的版本。以下即将发布的 Anthos clusters on VMware 版本或更高版本包含针对此漏洞的修补程序:

  • Anthos 1.3.3
  • Anthos 1.4.1

该补丁程序解决了哪一漏洞?

这些补丁程序解决了漏洞 CVE-2020-8559。此漏洞被评为 GKE 的中危漏洞,因为除了现有已遭破解的节点之外,攻击者还需要拥有集群、节点和工作负载的第一手信息,才能有效利用此攻击。此漏洞本身不会为攻击者提供已遭破解的节点。

CVE-2020-8559

GCP-2020-007

发布日期: 2020-06-01
说明 严重级别 备注

技术人员最近在 Kubernetes 中发现了服务器端请求伪造 (SSRF) 漏洞 CVE-2020-8555,该漏洞允许某些授权用户从控制层面主机网络泄露高达 500 字节的敏感信息。Google Kubernetes Engine (GKE) 控制层面会使用 Kubernetes 中的控制器,因此会受到此漏洞的影响。我们建议您将控制层面升级到最新的补丁程序版本,具体说明如下所述。节点不需要升级。

该怎么做?

以下 Anthos clusters on VMware (GKE On-Prem) 版本或更高版本包含针对此漏洞的修补程序:

  • Anthos 1.3.0

如果您使用的是以前的版本,请将现有集群升级到包含该修复的版本。

该补丁程序解决了哪一漏洞?

这些补丁程序解决了漏洞 CVE-2020-8555。此漏洞被评为 GKE 的中危漏洞,由于各种控制层面安全强化措施的实施而很难被利用。

有权创建内置了卷类型(GlusterFS、Quobyte、StorageFS、ScaleIO)的 Pod 的攻击者或有权创建 StorageClass 的攻击者可以使 kube-controller-manager 发出 GET 请求或 POST 请求,而无需通过主实例的主机网络控制请求正文。这些卷类型在 GKE 上很少使用,因此重新使用这些卷类型可能是一个有用的检测信号。

如果与重新向攻击者泄露 GET/POST 结果的方法结合使用(例如通过日志),则可能会导致敏感信息被披露。我们更新了相关的存储驱动程序,以消除发生此类泄露的可能性。

CVE-2020-8555

GCP-2020-006

发布日期: 2020-06-01
说明 严重级别 备注

Kubernetes 披露了一个漏洞,该漏洞允许特权容器将节点流量重定向至其他容器。此攻击无法读取或修改双向 TLS/SSH 流量(例如 kubelet 与 API 服务器之间)或来自使用 mTLS 的应用的流量。所有 Google Kubernetes Engine (GKE) 节点都会受到此漏洞的影响,我们建议您升级到最新的补丁程序版本,具体说明如下所述。

该怎么做?

如需针对 Anthos clusters on VMware (GKE On-Prem) 修复此漏洞,请升级集群到以下版本或更高版本:
  • Anthos 1.3.2

通常,很少有容器需要 CAP_NET_RAW。默认情况下,应通过 Anthos 政策控制器或更新 pod 规范来阻止此功能和其他强大的功能:

可以使用以下方法之一从容器中删除 CAP_NET_RAW 功能:

  • 使用 PodSecurityPolicy 强制阻止这些功能,例如:
    
          # Require dropping CAP_NET_RAW with a PSP
          apiversion: extensions/v1beta1
          kind: PodSecurityPolicy
          metadata:
            name: no-cap-net-raw
          spec:
            requiredDropCapabilities:
              -NET_RAW
               ...
               # Unrelated fields omitted
          
  • 或者将 Policy Controller 或 Gatekeeper 与此限制条件模板结合使用,并加以应用,例如:
    
          # Dropping CAP_NET_RAW with Gatekeeper
          # (requires the K8sPSPCapabilities template)
          apiversion: constraints.gatekeeper.sh/v1beta1
          kind:  K8sPSPCapabilities
          metadata:
            name: forbid-cap-net-raw
          spec:
            match:
              kinds:
                - apiGroups: [""]
                kinds: ["Pod"]
              namespaces:
                #List of namespaces to enforce this constraint on
                - default
              # If running gatekeeper >= v3.1.0-beta.5,
              # you can exclude namespaces rather than including them above.
              excludedNamespaces:
                - kube-system
            parameters:
              requiredDropCapabilities:
                - "NET_RAW"
          
  • 或者更新您的 Pod 规范:
    
          # Dropping CAP_NET_RAW from a Pod:
          apiVersion: v1
          kind: Pod
          metadata:
            name: no-cap-net-raw
          spec:
            containers:
              -name: my-container
               ...
              securityContext:
                capabilities:
                  drop:
                    -NET_RAW
          

该补丁程序解决了哪一漏洞?

该补丁程序解决了以下漏洞:

Kubernetes 问题 91507 中所述的漏洞 CAP_NET_RAW 功能(包含在默认容器功能集中)会在节点上恶意配置 IPv6 堆栈,并将节点流量重定向至攻击者控制的容器。这样一来,攻击者就可以拦截/修改源自或发送至该节点的流量。此攻击无法读取或修改双向 TLS/SSH 流量(例如 kubelet 与 API 服务器之间)或来自使用 mTLS 的应用的流量。

Kubernetes 问题 91507

GCP-2020-004

说明 严重级别 备注

近期在 Kubernetes 中发现了一个漏洞(如 CVE-2019-11254 中所述),该漏洞导致任何有权发出 POST 请求的用户都可以对 Kubernetes API 服务器执行远程拒绝服务攻击。Kubernetes 产品安全委员会 (PSC) 已经发布了有关此漏洞的更多信息,详见此处

您可以通过限制哪些客户端能够经由网络访问您的 Kubernetes API 服务器来缓解此漏洞。

该怎么做?

我们建议您尽快将集群升级为包含此漏洞修复的补丁程序版本。

下面列出了包含此修复的补丁程序版本:

  • Anthos 1.3.0(运行 Kubernetes 1.15.7-gke.32 版)

该补丁程序解决了哪些漏洞?

该补丁程序修复了以下拒绝服务攻击 (DoS) 漏洞:

CVE-2019-11254

CVE-2019-11254

2019 年 10 月 16 日

说明 严重级别 备注

近期在 Kubernetes 中发现了一个漏洞(如 CVE-2019-11253 中所述),该漏洞导致任何有权发出 POST 请求的用户都可以对 Kubernetes API 服务器执行远程拒绝服务攻击。Kubernetes 产品安全委员会 (PSC) 已经发布了有关此漏洞的更多信息,详见此处

您可以通过限制哪些客户端能够经由网络访问您的 Kubernetes API 服务器来缓解此漏洞。

该怎么做?

我们建议您在包含修复方案的补丁程序版本发布后,尽快将集群升级到相应补丁程序版本。

下面列出了将包含此修复的补丁程序版本:

  • Anthos 1.1.1(运行 Kubernetes 1.13.7-gke.30 版)
该补丁程序解决了什么漏洞?

该补丁程序缓解了以下漏洞:CVE-2019-11253

CVE-2019-11253

2019 年 8 月 23 日

说明 严重级别 备注

我们最近发现并缓解了一个漏洞,在该漏洞中,用于保护监控端点的 RBAC 代理未正确授权用户。因此,内部集群网络中未授权用户可以访问某些组件的指标。以下组件受到了影响:

  • etcd
  • etcd-events
  • kube-apiserver
  • kube-controller-manager
  • kube-scheduler
  • node-exporter
  • kube-state-metrics
  • prometheus
  • alertmanager
该怎么做?

我们建议您尽快将集群升级1.0.2-gke.3 版,其中包含此漏洞的补丁程序。

Anthos clusters on VMware 版本

2019 年 8 月 22 日

说明 严重级别 备注

Kubernetes 最近发现了一个漏洞 (CVE-2019-11247),该漏洞允许集群级的自定义资源实例像存在于所有命名空间内的有命名空间对象一样得到处理。这意味着仅有命名空间级 RBAC 权限的用户和服务帐号可以与集群级自定义资源交互。利用此漏洞要求攻击者具有访问任意命名空间内资源的权限。

该怎么做?

我们建议您尽快将集群升级1.0.2-gke.3 版,其中包含此漏洞的补丁程序。

该补丁程序解决了什么漏洞?

该补丁程序缓解了以下漏洞:CVE-2019-11247

CVE-2019-11247