🇰🇷 한글 설명
NGINX Gateway Fabric에서 NGINX Plus를 데이터 평면으로 사용할 때, 설정 생성기 컴포넌트에 주입 취약점이 존재합니다. 인증 필터의 clientID, cookieName 또는 참조된 Secret의 clientSecret 필드에 입력된 사용자 값이 적절한 검증 없이 NGINX 설정 템플릿에 직접 렌더링됩니다.
💡 쉬운 설명
권한이 있는 사용자가 특수하게 조작된 값을 입력하면 NGINX 설정 파일에 악의적인 명령어를 몰래 끼워 넣을 수 있습니다. 이를 통해 공격자는 시스템의 설정 동작을 임의로 변경할 수 있습니다.
🇺🇸 원문 (English)
Description:
When NGINX Plus is configured as the data plane for NGINX Gateway Fabric, an injection vulnerability exists in the NGINX configuration generator component of NGINX Gateway Fabric. User-supplied string values from the Authentication Filter Custom Resource Definition clientID or cookieName fields, or in the clientSecret field of a Secret referenced by an Authentication Filter, are rendered directly into NGINX configuration templates without sanitization or escaping.
Impact:
An authenticated attacker with permission to create or modify these resources may craft values that inject arbitrary NGINX configuration directives. This is a control plane issue; there is no data plane exposure.
📍 영향받는 시스템
NGINX Gateway Fabric (NGINX Plus를 데이터 평면으로 사용하는 구성)
⚔️ 공격 벡터
인증 필터 CRD 또는 Secret 리소스의 특정 필드에 악의적인 NGINX 설정 구문을 주입
🛡️ 대응 방법
NGINX Gateway Fabric를 최신 보안 패치가 적용된 버전으로 업데이트하고 리소스 생성 권한을 엄격히 제한하십시오.
🔧 검증 코드
설치된 NGINX Gateway Fabric의 리소스 존재 여부를 확인하고, 현재 사용 중인 버전을 체크하여 취약 버전인지 대조하십시오.
kubectl get gatewayfabric -A && kubectl get authenticationfilter -A