🇰🇷 한글 설명
ingress-nginx의 nginx.ingress.kubernetes.io/auth-method Ingress annotation을 통해 nginx 설정에 악성 코드를 주입할 수 있는 취약점입니다. 이를 악용하면 ingress-nginx 컨트롤러 컨텍스트에서 임의의 코드를 실행하거나 클러스터의 민감한 Secret 정보를 노출시킬 수 있습니다.
💡 쉬운 설명
Kubernetes에서 웹 트래픽을 관리하는 도구(ingress-nginx)의 설정 방식에 취약점이 있어서 공격자가 자신의 코드를 심어서 실행할 수 있습니다. 이를 통해 암호나 API 키 같은 중요한 정보를 빼내갈 수 있습니다.
🇺🇸 원문 (English)
A security issue was discovered in ingress-nginx where the `nginx.ingress.kubernetes.io/auth-method` Ingress annotation can be used to inject configuration into nginx. This can lead to arbitrary code execution in the context of the ingress-nginx controller, and disclosure of Secrets accessible to the controller. (Note that in the default installation, the controller can access all Secrets cluster-wide.)
📍 영향받는 시스템
ingress-nginx 컨트롤러 (영향받는 버전은 공식 보안 권고 참고)
⚔️ 공격 벡터
Ingress 리소스의 nginx.ingress.kubernetes.io/auth-method annotation에 악성 설정값을 주입하여 nginx 설정 변조
🛡️ 대응 방법
ingress-nginx를 공식 보안 패치가 적용된 최신 안정화 버전으로 즉시 업그레이드
🔧 검증 코드
반환된 ingress-nginx 컨트롤러 이미지 버전을 공식 보안 권고의 권장 최소 버전과 비교하여 패치 적용 여부 확인
kubectl get deployment -n ingress-nginx ingress-nginx-controller -o jsonpath='{.spec.template.spec.containers[0].image}' 2>/dev/null