バージョン 1.11

セキュリティに関する情報

この XML フィードを使用して、Anthos Service Mesh のセキュリティに関する情報を登録します。登録

このページには、Anthos Service Mesh のセキュリティ情報が記載されます。

GCP-2021-016

公開日: 2021 年 8 月 24 日
説明 重大度

Istio にリモートから悪用可能な脆弱性が存在します。HTTP リクエストの URI パスにフラグメント(URI の最後の # 文字で始まるセクション)があると、Istio の URI パスベースの認可ポリシーが回避される可能性があります。

たとえば、Istio 認可ポリシーでは、URI パス /user/profile に送信されたリクエストを拒否します。脆弱なバージョンでは、URI パス /user/profile#section1 を含むリクエストが拒否ポリシーを回避し、(正規化された URI パス /user/profile%23section1 を使用して)バックエンドにルーティングされるため、セキュリティ インシデントが発生します。

この修正は、CVE-2021-32779 に関連する Envoy での修正に依存しています。

必要な対策

クラスタが影響を受けるか確認する

次の両方の条件に該当する場合、クラスタはこの問題の影響を受けます。

対策

クラスタを次のパッチ バージョンのいずれかにアップグレードします。

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

新しいバージョンでは、認可とルーティングの前にリクエストの URI のフラグメント部分が削除されます。これにより、フラグメント部分のない URI に基づく認可ポリシーが、URI にフラグメントが存在するリクエストによって回避されることがなくなります。

オプトアウト

この新しい動作をオプトアウトした場合、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 にリモートから悪用可能な脆弱性が存在します。hosts または notHosts に基づくルールを使用している場合、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 ヘッダーと認可ポリシーの hosts または notHosts 仕様が比較されます。

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 にリモートから悪用可能な脆弱性が存在します。信頼できないアップストリーム サービスから GOAWAY フレームに続いて、SETTINGS_MAX_CONCURRENT_STREAMS パラメータが 0 に設定された SETTINGS フレームが送信され、Envoy が異常終了する可能性があります。

必要な対策

クラスタが影響を受けるか確認する

1.10.4-asm.6 より前のパッチ バージョンの Anthos Service Mesh 1.10 を使用している場合、クラスタはこの問題の影響を受けます。

対策

クラスタを次のパッチ バージョンにアップグレードします。

  • 1.10.4-asm.6

CVE-2021-32780

GCP-2021-012

公開日: 2021 年 6 月 24 日
説明 重大度

Istio セキュア Gateway または DestinationRule を使用するワークロードは、TLS 秘密鍵と証明書を credentialName 経由で読み込みます。Istio 1.8 以降、Secret は istiod から読み取られ、XDS を使用してゲートウェイとワークロードに表示されます。

通常、ゲートウェイまたはワークロードのデプロイは、その Namespace 内の 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 フィールドを指定して Gateways または DestinationRules を定義している。
  • istiod フラグ PILOT_ENABLE_XDS_CACHE=false を指定していない。
対策

クラスタを次のパッチ バージョンのいずれかにアップグレードします。

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

アップグレードできない場合は、istiod のキャッシュを無効にして、この脆弱性を軽減できます。キャッシュを無効にするには、istiod 環境変数を PILOT_ENABLE_XDS_CACHE=false に設定します。XDS キャッシュが無効になるため、システムと istiod のパフォーマンスに影響が生じる可能性があります。

CVE-2021-34824

GCP-2021-008

公開日: 2021 年 5 月 17 日
説明 重大度

Istio には、ゲートウェイが AUTO_PASSTHROUGH ルーティング構成で構成されている場合に、リモートから悪用できる脆弱性が存在します。この脆弱性により、外部クライアントが認証チェックを回避し、クラスタ内の想定されていないサービスにアクセスされる可能性があります。

必要な対策

クラスタが影響を受けるか確認する

この脆弱性は、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 年 5 月 17 日
説明 重大度

Istio には、パスベースの認証ルールが使用されている場合に、リモートから悪用できる脆弱性が含まれています。この脆弱性により、複数のスラッシュやエスケープされたスラッシュ文字(%2F または %5C)を含む HTTP リクエストパスが、Istio 認可ポリシーを迂回できる可能性があります。

Istio クラスタ管理者がパス "/admin" でリクエストを拒否する認可 DENY ポリシーを定義している場合、URL パス "//admin" に送信されたリクエストは、認可ポリシーによって拒否されません。

RFC 3986 に従い、複数のスラッシュを含むパス "//admin" は、技術的には "/admin" とは異なるパスとして扱われる必要があります。ただし、バックエンド サービスの中には、複数のスラッシュを単一のスラッシュに結合して URL パスを正規化することを選択するものもあります。これにより、認可ポリシー("//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 年 5 月 6 日
説明 重大度

最近、Envoy と Istio のプロジェクトは攻撃者が Envoy をクラッシュさせ、そのクラスタの一部をオフラインおよび到達不能にするおそれがあるいくつかの新しいセキュリティ上の脆弱性(CVE-2021-28682、CVE-2021-28683、CVE-2021-29258)を発表しました

これは、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