🇰🇷 한글 설명
Envoy Gateway의 특정 버전에서 namespace-scoped 테넌트가 spec.authorization을 생략한 TCPRoute 대상 SecurityPolicy를 생성할 경우 nil 참조로 인한 패닉이 발생합니다. 이로 인해 컨트롤러의 xDS 및 인프라 중간 표현(IR) 게시가 중단되어 관리자가 해당 객체를 삭제하기 전까지 설정 업데이트가 지연될 수 있습니다.
💡 쉬운 설명
설정 파일에 필수 정보를 빠뜨리면 시스템 관리 프로그램이 오류를 일으켜 멈추는 현상입니다. 서비스 자체는 작동하지만, 새로운 네트워크 설정 변경 사항이 적용되지 않고 멈춰있게 됩니다.
🇺🇸 원문 (English)
Envoy Gateway is an open source project for managing Envoy Proxy as a standalone or Kubernetes-based application gateway. Prior to 1.7.4 and 1.8.1, translateSecurityPolicyForRoute in internal/gatewayapi/securitypolicy.go dereferences a nil authorization value when a namespace-scoped tenant creates a SecurityPolicy targeting a TCPRoute and omits spec.authorization. The persistent object triggers the panic on every reconcile; recovery in message/watchutil.go keeps the process alive but unwinds the runner/runner.go handle callback, stalling controller-wide xDS and infrastructure intermediate-representation publishing until an administrator deletes the object. The data plane continues to serve the last known good configuration while publication is stalled. This issue is fixed in versions 1.7.4 and 1.8.1.
📍 영향받는 시스템
Envoy Gateway versions prior to 1.7.4 and 1.8.1
⚔️ 공격 벡터
권한이 있는 테넌트가 잘못된 형식의 SecurityPolicy 객체를 생성하여 컨트롤러의 리컨사일(reconcile) 프로세스를 마비시킴
🛡️ 대응 방법
Envoy Gateway를 1.7.4 또는 1.8.1 이상의 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 Envoy Gateway의 버전이 1.7.4 또는 1.8.1보다 낮은지 확인하십시오.
helm list -A | grep envoy-gateway | awk '{print $4}'