Istio
1.31.4Networking & Messaging보안 중심의 유지보수 릴리스로, 여러 보안 결함을 바로잡았습니다. 운영 정확성 수정과 성능 개선이 포함됐으며, ambient 동서 게이트웨이에서 `AUTO_PASSTHROUGH` 리스너를 지원합니다.
영향 확인 (7)
securityambient 모드 포트 수준
STRICT정책 적용 수정메시 전체
STRICT정책과 워크로드 모드PERMISSIVE또는DISABLE을 사용하는 ambient 모드에 적용됩니다.ambient 모드에서 메시 전체
STRICT정책과 워크로드 모드가PERMISSIVE또는DISABLE일 때 포트 수준STRICTPeerAuthentication이 건너뛰어지던 우선순위 오류를 수정했습니다. 이제mTLS가 필요한 포트에 평문 트래픽이 도달하지 않습니다.security
AuthorizationPolicy호스트 조건의 대소문자 구분 수정request.또는headers[:authority] request.에headers[host] AuthorizationPolicy조건을 사용하는 경우에 적용됩니다.request.및headers[:authority] request.조건을 대소문자를 구분해 일치시키던 문제를 수정했습니다. 이제 호스트와 같은 방식으로 대소문자를 구분하지 않고 조건을 검사합니다.headers[host] security오래된 연결 추적으로 인한
sidecar proxy우회 수정sidecar proxy가 종료된 연결의 4-튜플을 재사용하는 새 인바운드 연결을 받을 때 적용됩니다.종료된 연결의 오래된
conntrack ESTABLISHED항목과 일치하는 새 인바운드 연결이sidecar proxy를 우회할 수 있던 문제를 수정했습니다.security잘못된 xDS 리소스 이름으로 인한
istiod충돌 수정메시 식별자가 있는 워크로드가 URL 파싱에 실패하는 리소스 이름으로
istio.xDS 요청을 보내는 경우에 적용됩니다.io/debug 잘못된 URL 형식의 리소스 이름을 담은
istio.xDS 요청으로io/debug istiod가 충돌하고 전체 메시의 제어 영역이 충돌 반복 상태에 빠지던 문제를 수정했습니다.securityambient 모드 빈 정책 항목 처리 수정
비어 있는
to또는from항목을 포함한AuthorizationPolicy를 ambient 모드에서 사용하는 경우에 적용됩니다.ambient 모드에서 비어 있는
to또는from항목을 포함한AuthorizationPolicy가 검증 웹훅에서 거부되지 않아istiod가 충돌 반복 상태에 빠지고 메시 전체의 설정 배포가 중단되던 문제를 수정했습니다.security멀티클러스터
CLUSTER_ID위장 방지멀티클러스터 설치를 사용하는 경우에 적용됩니다.
멀티클러스터 설치에서 프록시가 다른 클러스터의
CLUSTER_ID를 주장하고 해당 클러스터의kubernetes://시크릿을 SDS로 받던 문제를 수정했습니다.security잘못된
traceparent헤더로 인한ztunnel패닉 수정인바운드 HBONE 연결에서
ztunnel이 대시로 구분된 네 개의 필드가 없는 55바이트traceparent헤더를 받는 경우에 적용됩니다.인바운드 HBONE 연결에서 대시로 구분된 네 개의 필드가 없는 55바이트
traceparent헤더를 파싱할 때ztunnel이 패닉을 일으키고 해당 연결의 모든 다중화 스트림을 끊던 문제를 수정했습니다.
그 외 기록된 변경 17건 전체fixes 16 · additions 1
fixes (16)
- Fixed the JWKS resolver’s periodic background refresh caching a fetched response without validating that it looks like a JWKS.
- Fixed an istiod panic when outlierDetection was applied to a dynamic forward proxy (DFP) wildcard cluster.
- Fixed an issue where the istio-cni Helm chart did not respect the value set for istioOwnedCNIConfigFileName .
- Fixed an issue where updates to the istio-cni config via the Helm chart did not restart istio-cni to pick up the new values.
- Fixed an issue where, when uninstalling the istio-cni Helm chart, the owned istio-cni config was not removed or the primary CNI config did not have the istio-cni plugin removed.
- Fixed an issue where, when enabling the owned istio-cni config, the primary CNI config was not cleaned up.
- Fixed an issue where, when changing the owned istio-cni config filename, the previous filename was not removed.
- Fixed the source_app and destination_app metric labels to use the app pod label when a pod also has app.kubernetes.io/name . Since 1.29.1 they had used app.kubernetes.io/name , which is a regression from the intended behavior.
- Fixed a situation where fetching the JWKS could block xDS generation.
- Fixed AuthorizationPolicy ipBlocks and notIpBlocks matching on waypoint and sidecar HBONE internal listeners to use the downstream client’s direct remote IP address instead of the internal Envoy address.
- Fixed an issue where istio-cni skipped cleanup for an ambient pod deleted together with its namespace, leaving its ztunnel proxy and host probe ipset entry behind.
- Fixed an issue introduced in Istio 1.31 where a change to a ConfigMap containing CA certificates, such as the kube-root-ca.crt ConfigMap that Kubernetes creates in every namespace, triggered CDS, LDS, RDS, and NDS pushes to every proxy.
- Fixed an issue where a metadata-only update to an EndpointSlice , such as a GitOps tool writing an annotation, triggered an EDS push, and for headless Services with non-HTTP ports a push to every proxy, even though the endpoints were unchanged.
- Fixed istiod only tolerating the default cni.istio.io/not-ready taint. When taint.name is set to a custom taint, the istiod deployment now tolerates that taint, so istiod can be scheduled onto nodes that still carry it.
- Fixed an issue where a metadata-only update to an Istio config resource, such as a GitOps tool writing an annotation, triggered a push whenever the resource carried any istio.io label or annotation, for example istio.io/rev .
- Fixed a regression where a Telemetry resource in a waypoint’s own namespace, selected by targetRefs or selector , was not applied when the waypoint served a Service in a different namespace.
additions (1)
- Added support for AUTO_PASSTHROUGH listeners on ambient east-west gateways ( istio-east-west GatewayClass ).
조치가 필요한 릴리스가 나왔을 때 주간 메일로 알려드립니다. 이번 릴리스의 보안 패치 같은 것들입니다.