Anthos Service Mesh 1.10 문서를 보고 있습니다. 최신 문서를 보거나 사용 가능한 다른 버전을 선택합니다.

보안 게시판

이 XML 피드를 사용하여 Anthos Service Mesh 보안 게시판을 구독합니다. 구독

이 페이지에는 Anthos Service Mesh에 대한 보안 게시판이 나열되어 있습니다.

GCP-2021-016

게시: 2021-08-24
설명 심각도 참고

Istio에는 URI 경로에 프래그먼트(URI의 끝부분에 있는 # 문자로 시작하는 섹션)가 있는 HTTP 요청이 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의 decompressor, json-transcoder, grpc-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-06-24
설명 심각도 참고

Istio 보안 Gateway 또는 DestinationRule을 사용하는 워크로드credentialName 구성을 통해 Kubernetes 보안 비밀에서 TLS 비공개 키와 인증서를 로드할 수 있습니다. Istio 1.8 이상부터는 보안 비밀을 istiod에서 읽고 XDS를 통해 게이트웨이 및 워크로드로 전달됩니다.

일반적으로 게이트웨이 또는 워크로드 배포는 네임스페이스 내 보안 비밀에 저장된 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" 경로에서 요청을 거부하기 위해 승인 거부 정책을 정의하는 시나리오에서 "//admin" URL 경로로 전송된 요청은 승인 정책에 의해 거부되지 않습니다.

RFC 3986에 따라 슬래시가 여러 개인 "//admin" 경로는 기술적으로 "/admin"과 다른 경로로 취급되어야 합니다. 그러나 일부 백엔드 서비스는 여러 슬래시를 단일 슬래시로 병합하여 URL 경로를 정규화하도록 선택합니다. 이로 인해 승인 정책이 우회될 수 있으며("//admin""/admin"과 일치하지 않음), 사용자는 백엔드의 "/admin" 경로에서 리소스에 액세스할 수 있습니다.

어떻게 해야 하나요?

클러스터가 영향을 받는지 확인합니다.

'ALLOW action + notPaths field' 또는 'DENY action + paths field' 패턴을 사용하는 승인 정책이 있는 경우 클러스터가 이 취약점의 영향을 받습니다. 이러한 패턴은 예상치 못한 정책 우회에 취약하므로 업그레이드하여 최대한 빨리 보안 문제를 해결해야 합니다.

다음은 'DENY action + paths field' 패턴을 사용하는 취약한 정책의 예시입니다.


apiVersion: security.istio.io/v1beta1
kind: AuthorizationPolicy
metadata:
  name: deny-path-admin
spec:
  action: DENY
  rules:
  - to:
    - operation:
        paths: ["/admin"]

다음은 'ALLOW action + notPaths field' 패턴을 사용하는 또 다른 취약한 정책의 예시입니다.


apiVersion: security.istio.io/v1beta1
kind: AuthorizationPolicy
metadata:
  name: allow-path-not-admin
spec:
  action: ALLOW
  rules:
  - to:
    - operation:
        notPaths: ["/admin"]

다음과 같은 경우 클러스터는 이 취약점의 영향을 받지 않습니다.

  • 승인 정책이 없습니다.
  • 승인 정책이 paths 또는 notPaths 필드를 정의하지 않습니다.
  • 승인 정책에 'ALLOW action + paths field' 또는 'DENY action + notPaths field' 패턴이 사용됩니다. 이러한 패턴은 정책 우회가 아닌 예상치 못한 거부만 유발할 수 있습니다.
  • 이러한 경우 업그레이드는 선택사항입니다.

마이그레이션

클러스터를 지원되는 최신 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