ISTIO-SECURITY-2020-006

Envoy使用HTTP2库中的拒绝服务。

Jun 11, 2020

安全漏洞详情
CVE(s)CVE-2020-11080
CVSS 影响评分7.5 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
受影响的版本1.4 to 1.4.9
1.5 to 1.5.4
1.6 to 1.6.1

已修复并公开披露影响 Envoy 使用的 HTTP2 库的漏洞 (c.f. 拒绝服务:SETTINGS 帧过大 ). 不幸的是,Istio 没有从可靠的披露评审中受益。

防范

可以使用以下配置在 Ingress Gateway 上禁用 HTTP2 支持作为临时解决方法,例如(请注意,如果您不通过 Ingress 公开 gRPC 服务,则可以禁用 Ingress 的 HTTP2 支持):


apiVersion: networking.istio.io/v1alpha3
kind: EnvoyFilter
metadata:
  name: disable-ingress-h2
  namespace: istio-system
spec:
  workloadSelector:
    labels:
      istio: ingressgateway
  configPatches:
  - applyTo: NETWORK_FILTER # http connection manager is a filter in Envoy
    match:
      context: GATEWAY
      listener:
        filterChain:
          filter:
            name: "envoy.http_connection_manager"
    patch:
      operation: MERGE
      value:
        typed_config:
          "@type": type.googleapis.com/envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager
          codec_type: HTTP1

鸣谢

我们要感谢 Michael Barton 引起了我们对这个公开披露漏洞的关注。

漏洞报告

希望大家遵循漏洞报告步骤,以报告任何可能会导致安全漏洞的 bug。