Istio
1.30.6Networking & Messagingセキュリティ修正を中心としたメンテナンスリリースで、複数の脆弱性と安全性に関わる挙動を修正しています。正確性と信頼性に関わる修正も含まれています。
要対応 (1)
security
istiodデバッグエンドポイントのproxyID照合を修正istiodのデバッグエンドポイント(/debug/config_dump、/debug/edsz、XDSのistio.型)がio/debug/config_dump proxyIDを部分文字列で照合していた問題を修正しました。これにより、同じnamespace内の別プロキシの設定を部分的なIDで読み出せる状態が解消されました。
影響確認 (8)
security
OAuth2 HTTP filterのCONNECTリクエスト処理を修正OAuth2 HTTP filterを使用している場合に適用されます。OAuth2 HTTP filterで、:pathヘッダーのないCONNECTリクエストを受けた際に認証なしでリモートクラッシュが発生する問題を修正しました。GHSA-8vc2-jrm4-835wに対応しています。security
api_key_authHTTPフィルターのクラッシュを修正api_key_authHTTPフィルターを使用している場合に適用されます。api_key_authHTTPフィルターで、:pathヘッダーのないCONNECTリクエストを受けた際にクラッシュする問題を修正しました。GHSA-47vj-9r25-wv5jに対応しています。securityHTTP/2における
AuthorizationPolicyメソッドルールの回避を修正AuthorizationPolicyを設定し、HTTP/2を使用している場合に適用されます。HTTP/2でメソッドの大文字と小文字を変更すると、
AuthorizationPolicyのメソッドルールを回避できる問題を修正しました。GHSA-w44g-8m76-8gc5に対応しています。securityambientモードでの
istiodクラッシュを修正ambientモードで実行し、
ServiceEntryを設定している場合に適用されます。IPアドレスを指定したwaypointのアドレスを
ServiceEntryなどのサービスが要求したとき、ambientモードのistiodがクラッシュする問題を修正しました。GHSA-7p2q-4xvg-vxc6に対応しています。security
istioctl manifest translateのシェルスクリプト値処理を修正istioctl manifest translateを使用し、生成されたインストール用シェルスクリプトを実行している場合に適用されます。istioctl manifest translateが、IstioOperatorの入力値(namespaceやリリース名など)を引用符なしで生成されたインストール用シェルスクリプトへ書き込む問題を修正しました。細工した値によって、スクリプト実行時に追加のシェルコマンドが注入される可能性がありました。security
CreateCertificateのKubernetes APIエラー情報を修正EXTERNAL_CA=ISTIOD_RA_KUBERNETES_APIを設定している場合に適用されます。実験的なKubernetes CSR RAパスで、
CreateCertificateがKubernetes APIの生のエラー本文を呼び出し元へ返し、CSR名、署名者名、istiodの識別情報が漏れる問題を修正しました。securityWasm OCIイメージ取得時の平文HTTPフォールバックを修正
Wasm OCIイメージフェッチャーを使用している場合に適用されます。
Wasm OCIイメージフェッチャーが、レジストリから返されたエラーを理由に、失敗したHTTPS取得を平文HTTPで再試行する問題を修正しました。任意のWasmバイナリが提供される可能性のあるフォールバックは発生しなくなります。
breakingKubernetes CSR RAの証明書TTL上限を追加
EXTERNAL_CA=ISTIOD_RA_KUBERNETES_APIを設定している場合に適用されます。実験的なKubernetes CSR RAパスで、クライアントが要求した
ValidityDurationがデフォルト90日のMAX_WORKLOAD_CERT_TTLまで受け入れられていた制限を見直しました。新しいMAX_RA_WORKLOAD_CERT_TTLが追加され、デフォルト値の48時間を上限としてTTLを制限します。48時間を超えるTTLを正当に要求するデプロイメントでは、アップグレード後にMAX_RA_WORKLOAD_CERT_TTLの引き上げが必要になります。
その他の記録済み変更 16 件すべてfixes 12 · additions 3 · defaults 1
fixes (12)
- - Fixed a panic in istiod when the OIDC/JWT authenticator received a token with a malformed sub claim.
- - Fixed the Kubernetes CSR watch loop using an abandoned time.After timer that could leave a goroutine running past request completion on the experimental Kubernetes CSR RA path ( EXTERNAL_CA=ISTIOD_RA_KUBERNETES_API ).
- - Fixed an HTTPRoute rule with several InferencePool backendRefs configuring only one endpoint picker.
- - Fixed two HTTPRoute s sharing a rules[].name on the same gateway overwriting each other’s endpoint picker.
- - Fixed a route rule losing its InferencePool endpoint picker when it also carried a CORS filter.
- - Fixed sidecar proxy UID/GID resolution on OpenShift for workloads bound to a custom SecurityContextConstraint with a narrow or explicitly-configured UID range, which the namespace’s preallocated UID range annotation does not advertise.
- - Fixed an issue where, with PILOT_FILTER_GATEWAY_CLUSTER_CONFIG enabled, incremental CDS pushes removed gateway clusters for Services listed in the envoyfilter.istio.io/referenced-services annotation of an EnvoyFilter .
- - Fixed a bug where an internal listener was incorrectly created when the listener is of HTTPS or TLS but without a TLS section defined.
- - Fixed removing a single event handler from a CRD-backed informer removing every handler on that informer.
- - Fixed an issue where EDS-irrelevant configuration updates coalesced with an endpoint update caused full EDS generation instead of updating only the affected endpoint assignments.
- - Fixed ztunnel crash-looping with exit code 133 ( SIGTRAP ) on arm64 nodes whose CPUs provide the RNDR instruction, such as GKE Axion, when the hardware random number generator reported a transient failure. aws-lc-rs is updated to 1.18.2, which retries the read instead of aborting.
- Fixed an issue where the pre-marshaled workload used for change detection and versioning in ambient was not stable
additions (3)
- - Improved Added PILOT_ENABLE_STRICT_GATEWAY_MERGING to prevent cross-namespace merging of Istio Gateways with managed GatewayAPI Gateways.
- - Added a validation warning for ServiceEntry addresses that are catch-all ( 0.0.0.0 , :: ), have an unspecified network ( 0.0.0.0/N , ::/N ), or are a CIDR with a prefix shorter than /8 .
- Each timeout is logged as a warning and counted by the kube_client_deadline_fired_total metric.
defaults (1)
- - Fixed Istio components hanging indefinitely when a Kubernetes API request gets no response, for example when a load balancer or proxy silently drops the return path. Previously such a request could stay open forever, stalling the controller that issued it until the process restarted. Requests now time out on the client side, so a stuck request is canceled and the component recovers on its own.
対応が必要なリリースが出たときに、週次メールでお知らせします。 今回のセキュリティパッチと破壊的変更も、その一例です。