安全公告

本页面列出了 Istio on Google Kubernetes Engine (Istio on GKE) 的安全公告。

使用此 XML Feed 可订阅 Istio on GKE 安全公告。 订阅

GCP-2021-016

已发布:2021-08-24
说明 严重级别 备注

Istio 包含一个远程利用漏洞,在该漏洞中,URI 路径中带有片段(URI 末尾以 # 字符开头的部分)的 HTTP 请求可以绕过 Istio 的 URI 路径授权政策。

例如,Istio 授权政策会拒绝发送到 URI 路径 /user/profile 的请求。在易受攻击的版本中,URI 路径为 /user/profile#section1 的请求会绕过拒绝政策并路由到后端(规范化 URI 路径 /user/profile%23section1),从而导致安全突发事件。

此修复依赖于 Envoy 中的修复,该修复与 CVE-2021-32779 相关联。

该怎么做?

检查您的集群是否会受到影响

如果同时满足以下两个条件,则您的集群会受到影响:

  • 它使用 Istio on GKE 1.6 以及低于 1.6.14-gke.5 的补丁程序版本。(默认情况下,GKE 1.4 上的 Istio 不受影响,因为其授权政策会拒绝所有流量。)
  • 它使用具有 DENY actionsoperation.pathsALLOW actionsoperation.notPaths 的授权政策。
应对措施

将集群升级到以下补丁程序版本:

  • 1.6.14-gke.5

使用新版本时,请求的 URI 的片段部分会在授权和路由之前移除。这样可以防止在其 URI 中包含 Fragment 的请求绕过基于 URI 且没有 Fragment 部分的授权政策。

停用

如果您选择停用这种新行为,则 URI 中的片段部分会被保留。如需选择停用,您可以按如下方式配置安装:


apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
metadata:
  name: opt-out-fragment-cve-fix
  namespace: istio-system
spec:
  meshConfig:
    defaultConfig:
      proxyMetadata:
        HTTP_STRIP_FRAGMENT_FROM_PATH_UNSAFE_IF_DISABLED: "false"

注意:如果选择停用此行为,您的系统将容易受到此 CVE 的影响。

CVE-2021-39156

说明 严重级别 备注

Istio 包含的一个远程漏洞,在使用基于 hostsnotHosts 的规则时,HTTP 请求可能会绕过 Istio 授权政策。

在易受攻击的版本中,Istio 授权政策以区分大小写的方式比较 HTTP Host:authority 标头,这与 RFC 4343 不一致。例如,用户可能拥有拒绝主机 secret.com 的请求的授权政策,但攻击者可以通过主机名 Secret.com 发送请求来绕过此政策。路由流程将流量路由到 secret.com 的后端,这会导致安全突发事件。

该怎么做?

检查您的集群是否会受到影响

如果同时满足以下两个条件,则您的集群会受到影响:

  • 它使用 Istio on GKE 1.6 以及低于 1.6.14-gke.5 的补丁程序版本。(GKE 1.4 上的 Istio 不受影响,因为其授权政策默认拒绝所有流量,并且不支持 notHosts。)
  • 请求使用基于 operation.hostsDENY actions 或基于 operation.notHostsALLOW actions 的授权政策。
应对措施

将集群升级到以下补丁程序版本:

  • 1.6.14-gke.5

此缓解措施可确保 HTTP Host:authority 标头根据授权政策中的 hostsnotHosts 规范(不区分大小写)进行评估。

CVE-2021-39155

说明 严重级别 备注

Envoy 包含一个远程漏洞,当使用 ext_authz 扩展程序时,具有多个值标头的 HTTP 请求可能会执行不完整的授权政策检查。如果请求标头包含多个值,则外部授权服务器将仅看到给定标头的最后一个值。

该怎么做?

检查您的集群是否会受到影响

如果同时满足以下两个条件,则您的集群会受到影响:

  • 它使用 1.4.10-gke.17 或 1.6.14-gke.5 之前的补丁程序版本。
  • 它使用 Istio on GKE 外部授权 (ext_authz) 扩展程序。
应对措施

将集群升级到以下某个修补后的版本:

  • 1.4.10-gke.17
  • 1.6.14-gke.5

CVE-2021-32777

说明 严重级别 备注

Envoy 包含一个远程漏洞,该漏洞会影响 Envoy 的 decompressorjson-transcodergrpc-web 扩展程序或专有扩展程序,从而修改或增加请求或响应正文的大小。如果修改和增加 Envoy 扩展中正文超出内部缓冲区大小,可能会导致 Envoy 访问取消分配的内存并异常终止。

该怎么做?

检查您的集群是否会受到影响

如果同时满足以下两个条件,则您的集群会受到影响:

  • 它使用 1.4.10-gke.17 或 1.6.14-gke.5 之前的补丁程序版本。
  • 它使用 EnvoyFilter
应对措施

将集群升级到以下某个修补后的版本:

  • 1.4.10-gke.17
  • 1.6.14-gke.5

CVE-2021-32781

GCP-2021-004

发布日期: 2021-05-07
说明 严重级别 备注

Envoy/Istio 项目最近宣布了几个影响 Anthos Service Mesh 和 Istio on Google Kubernetes Engine 的新安全漏洞:

  • CVE-2021-28682:从 1.17.1 版本开始的 Envoy 包含可远程利用的整数溢出,其中非常大的 grpc-timeout 值会导致意外的超时计算。
  • CVE-2021-28683:从 1.17.1 开始的 Envoy 包含可远程利用的 NULL 指针解引用,并在收到未知的 TLS 提醒代码时导致 TLS 崩溃。
  • CVE-2021-29258:1.17.1 版 Envoy 包含一个远程漏洞,利用该漏洞,带有空元数据映射的 HTTP2 请求可能会导致 Envoy 崩溃。

该怎么做?

如需修复这些漏洞,请升级到最新补丁程序版本。如需了解相关说明,请参阅升级 Istio on GKE

CVE-2021-28682
CVE-2021-28683
CVE-2021-29258