Istio
1.30.6Networking & Messaging보안 중심 유지보수 릴리스로 여러 취약점을 수정하고 일부 경로의 보안 동작을 더 엄격하게 다듬었습니다. 정확성과 안정성 문제도 함께 바로잡았습니다.
조치 필요 (1)
security
istiod디버그 엔드포인트의 프록시 ID 비교 수정istiod디버그 엔드포인트가proxyID를 전체 값이 아닌 부분 문자열로 비교하던 문제를 수정했습니다./debug/config_dump,/debug/edsz,XDS istio.유형에서 부분 ID를 전달해 같은 네임스페이스의 다른 프록시 설정을 읽을 수 있던 경로가 차단됩니다.io/debug/config_dump
영향 확인 (8)
security
OAuth2HTTP 필터의CONNECT요청 충돌 수정OAuth2HTTP 필터를 사용하는 경우에 적용됩니다.OAuth2HTTP 필터가:path헤더 없이 들어온CONNECT요청에서 인증되지 않은 원격 충돌을 일으키던 문제를 수정했습니다. GHSA-8vc2-jrm4-835w가 해결되었습니다.security
api_key_authHTTP 필터의 요청 충돌 수정api_key_authHTTP 필터를 사용하는 경우에 적용됩니다.:path헤더가 없는CONNECT요청에서api_key_authHTTP 필터가 충돌하던 문제를 수정했습니다. GHSA-47vj-9r25-wv5j가 해결되었습니다.securityHTTP/2
AuthorizationPolicy메서드 규칙 우회 수정AuthorizationPolicy를 설정하고 HTTP/2를 사용하는 경우에 적용됩니다.HTTP/2에서 메서드의 대소문자를 바꾸면
AuthorizationPolicy의 메서드 규칙을 우회할 수 있던 문제를 수정했습니다. GHSA-w44g-8m76-8gc5가 해결되었습니다.securityambient 모드의
istiod충돌 수정ambient 모드에서 실행하며
ServiceEntry를 설정하는 경우에 적용됩니다.ambient 모드에서
ServiceEntry나 다른 서비스가 IP 주소를 사용하는 waypoint의 주소를 차지하면istiod가 충돌하던 문제를 수정했습니다. GHSA-7p2q-4xvg-vxc6가 해결되었습니다.security
istioctl manifest translate의 셸 값 처리 수정istioctl manifest translate를 사용하고 생성된 설치 셸 스크립트를 실행하는 경우에 적용됩니다.istioctl manifest translate가IstioOperator입력의 네임스페이스와 릴리스 이름 같은 값을 인용 부호 없이 설치 셸 스크립트에 기록하던 문제를 수정했습니다. 조작된 값으로 스크립트 실행 시 추가 셸 명령을 삽입할 수 있던 경로가 차단됩니다.securityKubernetes CSR RA 오류 정보 노출 수정
EXTERNAL_CA=ISTIOD_RA_KUBERNETES_API를 설정하는 경우에 적용됩니다.실험적 Kubernetes CSR RA 경로에서
CreateCertificate가 Kubernetes API의 원시 오류 내용을 호출자에게 반환하던 문제를 수정했습니다.EXTERNAL_CA=ISTIOD_RA_KUBERNETES_API설정에서 CSR 이름, 서명자 이름,istiod의 식별 정보가 노출되던 동작이 사라집니다.securityWasm OCI 이미지의 평문 전송 대체 차단
Wasm OCI 이미지 가져오기를 사용하는 경우에 적용됩니다.
Wasm OCI 이미지 가져오기가 레지스트리의 오류에 따라 실패한 HTTPS 요청을 평문 HTTP로 재시도하던 문제를 수정했습니다. 신뢰할 수 없는 레지스트리가 이 대체 경로를 유도해 평문 전송을 강제하고, 모듈 다이제스트를 고정하지 않은 경우 임의의 Wasm 바이너리를 제공할 수 있던 동작이 제거됩니다.
breakingKubernetes CSR RA 인증서 TTL 제한 변경
EXTERNAL_CA=ISTIOD_RA_KUBERNETES_API를 설정하는 경우에 적용됩니다.실험적 Kubernetes CSR RA 경로에서 클라이언트가 요청한
ValidityDuration이 기본MAX_WORKLOAD_CERT_TTL값인 90일까지 허용되던 제한을 조정했습니다. 새 환경 변수MAX_RA_WORKLOAD_CERT_TTL이 기본 48시간으로 TTL을 제한해 도난된istio-token의 영향 범위를 줄입니다. 이 경로에서 48시간을 초과하는 인증서를 정상적으로 요청하던 배포 환경은 업그레이드 후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.
조치가 필요한 릴리스가 나왔을 때 주간 메일로 알려드립니다. 이번 릴리스의 보안 패치와 브레이킹 체인지 같은 것들입니다.