🇰🇷 한글 설명
Envoy Gateway 1.7.4 및 1.8.1 미만 버전에서 HTTPRoute가 대상 네임스페이스의 ReferenceGrant 없이도 다른 네임스페이스의 백엔드 리소스를 참조할 수 있는 취약점이 발견되었습니다. 이는 Gateway API의 교차 네임스페이스 권한 모델을 위반하여, 백엔드 소유자의 동의 없이 리소스를 바인딩하고 사용할 수 있게 합니다.
💡 쉬운 설명
다른 방의 물건을 주인 허락 없이 마음대로 가져다 쓸 수 있는 보안 허점이 발견되었습니다. 이로 인해 권한이 없는 사용자가 네트워크 설정을 조작하여 다른 영역의 자원에 접근할 위험이 있습니다.
🇺🇸 원문 (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, an HTTPRoute can use an extension-managed custom backendRef to reference a backend resource in another namespace without a matching Gateway API ReferenceGrant in the target namespace. The custom-backend branch in internal/gatewayapi/route.go omits validateBackendNamespace, allowing the route-owning namespace to bind to and use the resource without the backend namespace owner's consent and violating the Gateway API cross-namespace authorization model. 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
⚔️ 공격 벡터
권한이 없는 네임스페이스에서 HTTPRoute를 생성하여 다른 네임스페이스의 백엔드 리소스를 무단 참조
🛡️ 대응 방법
Envoy Gateway를 1.7.4 또는 1.8.1 이상의 최신 버전으로 업데이트
🔧 검증 코드
출력된 버전이 1.7.4 또는 1.8.1보다 낮은지 확인하여 취약 여부를 판단합니다.
envoy-gateway version 2>/dev/null || helm list -n envoy-gateway-system -o json | jq -r '.apps[] | select(.name | contains("envoy-gateway")) | .version'