RATATOSKRATATOSK
로그인

Istio

1.30.6Networking & Messaging
2026년 10월 15일

ACTION 1CHECK 8OTHER 16

보안 중심 유지보수 릴리스로 여러 취약점을 수정하고 일부 경로의 보안 동작을 더 엄격하게 다듬었습니다. 정확성과 안정성 문제도 함께 바로잡았습니다.

조치 필요 (1)

  • securityistiod 디버그 엔드포인트의 프록시 ID 비교 수정

    istiod 디버그 엔드포인트가 proxyID를 전체 값이 아닌 부분 문자열로 비교하던 문제를 수정했습니다. /debug/config_dump, /debug/edsz, XDS istio.io/debug/config_dump 유형에서 부분 ID를 전달해 같은 네임스페이스의 다른 프록시 설정을 읽을 수 있던 경로가 차단됩니다.

영향 확인 (8)

  • securityOAuth2 HTTP 필터의 CONNECT 요청 충돌 수정

    OAuth2 HTTP 필터를 사용하는 경우에 적용됩니다.

    OAuth2 HTTP 필터가 :path 헤더 없이 들어온 CONNECT 요청에서 인증되지 않은 원격 충돌을 일으키던 문제를 수정했습니다. GHSA-8vc2-jrm4-835w가 해결되었습니다.

  • securityapi_key_auth HTTP 필터의 요청 충돌 수정

    api_key_auth HTTP 필터를 사용하는 경우에 적용됩니다.

    :path 헤더가 없는 CONNECT 요청에서 api_key_auth HTTP 필터가 충돌하던 문제를 수정했습니다. 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가 해결되었습니다.

  • securityistioctl 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.
Istio 스택에 추가

조치가 필요한 릴리스가 나왔을 때 주간 메일로 알려드립니다. 이번 릴리스의 보안 패치와 브레이킹 체인지 같은 것들입니다.

스택에 추가 →