您正在查看 Anthos Service Mesh 1.9 的文档。查看最新文档或选择其他可用版本:

安全公告

使用此 XML Feed 可订阅 Anthos Service Mesh 安全公告。订阅

本页面列出了适用于 Anthos Service Mesh 的安全公告。

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 相关联。

该怎么做?

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

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

应对措施

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

  • 1.10.4-asm.6
  • 1.9.8-asm.1
  • 1.8.6-asm.8
  • 1.7.8-asm.10

对于新版本,请求的 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 的后端,从而导致安全突发事件。

该怎么做?

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

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

应对措施

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

  • 1.10.4-asm.6
  • 1.9.8-asm.1
  • 1.8.6-asm.8
  • 1.7.8-asm.10

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

CVE-2021-39155

说明 严重级别 备注

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

该怎么做?

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

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

  • 它使用 1.7.8-asm.10、1.8.6-asm.8、1.9.8-asm.1 和 1.10.4-asm.6 之前的 Anthos Service Mesh 补丁程序版本。
  • 它使用外部授权功能。
应对措施

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

  • 1.10.4-asm.6
  • 1.9.8-asm.1
  • 1.8.6-asm.8
  • 1.7.8-asm.10

CVE-2021-32777

说明 严重级别 备注

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

该怎么做?

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

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

  • 它使用 1.7.8-asm.10、1.8.6-asm.8、1.9.8-asm.1 和 1.10.4-asm.6 之前的 Anthos Service Mesh 补丁程序版本。
  • 它使用 EnvoyFilters
应对措施

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

  • 1.10.4-asm.6
  • 1.9.8-asm.1
  • 1.8.6-asm.8
  • 1.7.8-asm.10

CVE-2021-32781

说明 严重级别 备注

Envoy 包含一个远程漏洞,利用该漏洞,Envoy 客户端会打开然后重置大量 HTTP/2 请求,可能会导致 CPU 消耗过度。

该怎么做?

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

如果您的集群使用 1.7.8-asm.10、1.8.6-asm.8、1.9.8-asm.1 和 1.10.4-asm.6 之前的 Anthos Service Mesh 补丁程序版本,则会受到影响。

应对措施

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

  • 1.10.4-asm.6
  • 1.9.8-asm.1

注意:如果您使用的是 Anthos Service Mesh 1.8 或更早版本,请升级到 Anthos Service Mesh 1.9 及更高版本的最新补丁程序版本,以缓解此漏洞。

CVE-2021-32778

说明 严重级别 备注

Envoy 包含一个远程漏洞,在该漏洞中,不受信任的上游服务可能会导致 Envoy 异常终止,方法是发送 GOAWAY 帧,后跟 SETTINGS 帧,并将 SETTINGS_MAX_CONCURRENT_STREAMS 参数设置为 0

该怎么做?

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

如果您的集群使用 1.10.4-asm.6 之前的 Anthos Service Mesh 1.10 补丁程序版本,则会受到影响。

应对措施

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

  • 1.10.4-asm.6

CVE-2021-32780

GCP-2021-012

发布日期:2021-06-24
说明 严重级别 备注

Istio 安全 Gateway使用 DestinationRule 的工作负载可以通过 credentialName 配置从 Kubernetes Secret 加载 TLS 私钥和证书。从 Istio 1.8 及更高版本开始,Secret 从 istiod 读取并通过 XDS 传送到网关和工作负载。

通常,网关或工作负载部署只能访问存储在其命名空间内 Secret 中的 TLS 证书和私钥。但是,istiod 中的错误允许有权访问 Istio XDS API 的客户端检索 istiod 中缓存的所有 TLS 证书和私钥。此安全漏洞仅影响 Anthos Service Mesh 1.8 和 1.9 次要版本。

该怎么做?

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

如果满足以下所有条件,则您的集群会受到影响:

  • 我们使用 1.9.6-asm.1 之前的 1.9.x 版本或 1.8.6-asm.4 之前的 1.8.x。
  • 它定义了已指定 credentialName 字段的 GatewaysDestinationRules
  • 它未指定 istiod 标志 PILOT_ENABLE_XDS_CACHE=false
应对措施

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

  • 1.9.6-asm.1
  • 1.8.6-asm.4

如果升级不可行,您可以通过停用 istiod 缓存来缓解此漏洞。您可以通过将 istiod 环境变量设置为 PILOT_ENABLE_XDS_CACHE=false 来停用缓存。系统和 istiod 性能可能会受到影响,因为这会停用 XDS 缓存。

CVE-2021-34824

GCP-2021-008

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

如果网关配置了 AUTO_PASSTHROUG 路由配置,则 Istio 包含一个远程可利用的漏洞,攻击者可以利用该漏洞访问集群中的意外服务。

该怎么做?

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

此漏洞仅影响 AUTO_PASSTHROUGH 网关类型(通常仅在多网络、多集群部署中使用)。

使用以下命令检测集群中所有网关的 TLS 模式:


kubectl get gateways.networking.istio.io -A -o \
  "custom-columns=NAMESPACE:.metadata.namespace, \
  NAME:.metadata.name,TLS_MODE:.spec.servers[*].tls.mode"

如果输出显示任何 AUTO_PASSTHROUGH 网关,则说明您可能受到了影响。

应对措施

将集群更新到最新版 Anthos Service Mesh 版本:

  • 1.9.5-asm.2
  • 1.8.6-asm.3
  • 1.7.8-asm.8

* 注意:Anthos Service Mesh 代管式控制平面(仅在 1.9.x 版本中提供)的发布将在未来几天内完成。

CVE-2021-31921

GCP-2021-007

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

Istio 包含一个可远程利用的漏洞,在使用基于路径的授权规则时,如果 HTTP 请求包含多个斜杠或转义的斜杠字符(%2F 或 %5C),该请求可以绕过 Istio 授权政策。

如果 Istio 集群管理员定义了授权 DENY 政策来拒绝路径 "/admin" 的请求,则授权政策不会拒绝发送到网址路径 "//admin" 的请求。

根据 RFC 3986 标准,带有多个斜杠的路径 "//admin" 应被视为不同于 "/admin" 的不同路径。但是,某些后端服务选择通过将多个斜杠合并到一个斜杠来标准化网址路径。这可能会绕过授权政策("//admin""/admin" 不匹配),用户可以访问后端中 "/admin" 路径的资源。

该怎么做?

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

如果您的集群使用“ALLOW 操作 + notPaths 字段”或“DENY 操作 + paths 字段”模式,您的集群会受到此漏洞的影响。这些模式容易受到意外政策绕过攻击,您应该尽快升级以解决安全问题。

下面是一个使用“DENY 操作 + paths 字段”的易受攻击的政策示例:


apiVersion: security.istio.io/v1beta1
kind: AuthorizationPolicy
metadata:
  name: deny-path-admin
spec:
  action: DENY
  rules:
  - to:
    - operation:
        paths: ["/admin"]

以下是使用“ALLOW 操作 + notPaths 字段”格式的易受攻击的政策示例:


apiVersion: security.istio.io/v1beta1
kind: AuthorizationPolicy
metadata:
  name: allow-path-not-admin
spec:
  action: ALLOW
  rules:
  - to:
    - operation:
        notPaths: ["/admin"]

在以下情况下,您的集群不受此漏洞的影响:

  • 您没有授权政策。
  • 您的授权政策未定义 pathsnotPaths 字段。
  • 您的授权政策使用“ALLOW 操作 + paths 字段”或“DENY 操作 + notPaths 字段”模式。这些模式只能导致意外拒绝,而不是绕过政策。
  • 对于这些情况,可选择升级。

应对措施

将集群更新到最新版 Anthos Service Mesh 版本*。以下版本支持在系统中配置具有更多标准化选项的 Envoy 代理:

  • 1.9.5-asm.2
  • 1.8.6-asm.3
  • 1.7.8-asm.8

* 注意:Anthos Service Mesh 代管式控制平面(仅在 1.9.x 版本中提供)的发布将在未来几天内完成。

按照 Istio 安全最佳做法指南配置您的授权政策。

CVE-2021-31920

GCP-2021-004

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

Envoy 和 Istio 项目最近公布了几个新的安全漏洞(CVE-2021-28682、CVE-2021-28683 和 CVE-2021-29258),攻击者可能会利用这些漏洞导致 Envoy 崩溃,并可能使集群的某些部分脱机且无法访问。

这会影响已交付的服务,例如 Anthos Service Mesh。

该怎么做?

如需修复这些漏洞,请将您的 Anthos Service Mesh 软件包升级到以下某个修补版本:

  • 1.9.3-asm.2
  • 1.8.5-asm.2
  • 1.7.8-asm.1
  • 1.6.14-asm.2

如需了解详情,请参阅 Anthos Service Mesh 版本说明

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