🇰🇷 한글 설명
NGINX Ingress Controller가 CRD 또는 Ingress 어노테이션을 사용하여 설정을 생성할 때, 사용자 제어 필드에 대한 검증이 누락되어 발생하는 주입 취약점입니다. 인증된 공격자가 권한을 이용해 임의의 NGINX 설정 지시문을 주입함으로써 파일을 생성/삭제하거나 서비스를 중단시킬 수 있습니다.
💡 쉬운 설명
설정 파일에 들어갈 내용을 검사하지 않아, 공격자가 나쁜 명령어를 몰래 끼워 넣을 수 있는 문제입니다. 이를 통해 관리자가 설정한 규칙을 망가뜨리거나 서비스를 멈추게 할 수 있습니다.
🇺🇸 원문 (English)
When NGINX Ingress Controller is configured with Custom Resource Definitions (CRDs) or Ingress annotations, an injection vulnerability exists in the configuration generator of NGINX Ingress Controller. Multiple user-controllable fields are written into the generated NGINX configuration without sanitization. An authenticated attacker with permission to create or modify these CRDs or annotations may craft values that inject arbitrary NGINX configuration directives.
Impact:
An authenticated attacker granted write access to NGINX Ingress Controller CRDs or Ingress annotations through the Kubernetes API may be able to inject arbitrary NGINX configuration directives, create or delete files, or disable services. There is no data plane exposure; this is a control plane issue only.
Note: Software versions which have reached End of Technical Support (EoTS) are not evaluated.
📍 영향받는 시스템
NGINX Ingress Controller (CRD 또는 Ingress 어노테이션을 사용하는 버전)
⚔️ 공격 벡터
Kubernetes API를 통해 CRD 또는 Ingress 어노테이션을 수정할 수 있는 권한을 가진 인증된 공격자가 악성 설정 값을 주입
🛡️ 대응 방법
NGINX Ingress Controller를 최신 보안 패치가 적용된 버전으로 업데이트하고, CRD 및 어노테이션 수정 권한에 대한 RBAC를 엄격히 제한하십시오.
🔧 검증 코드
출력된 NGINX Ingress Controller의 이미지 태그 및 버전을 확인하여 취약점이 해결된 버전인지 대조하십시오.
kubectl get pods -A | grep nginx-ingress-controller