🇰🇷 한글 설명
NGINX Gateway Fabric의 설정 생성기 구성 요소에서 주입 취약점이 발견되었습니다. NginxProxy의 serverTokens 필드와 AuthenticationFilter의 extraAuthArgs 필드에 입력된 사용자 문자열이 적절한 검증 없이 NGINX 설정 템플릿에 직접 렌더링됩니다. 이를 통해 권한이 있는 공격자는 임의의 NGINX 설정 지시어를 주입할 수 있습니다.
💡 쉬운 설명
설정 파일에 들어가는 특정 입력값들이 제대로 검사되지 않아 발생하는 문제입니다. 공격자가 특수하게 조작된 값을 입력하면 시스템의 설정 규칙을 마음대로 바꿀 수 있습니다.
🇺🇸 원문 (English)
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 NginxProxy Custom Resource Definition serverTokens field and the AuthenticationFilter Custom Resource Definition extraAuthArgs field are rendered directly into NGINX configuration templates without sanitization or escaping. An authenticated attacker with permission to create or modify these Custom Resource Definitions may craft values that inject arbitrary NGINX configuration directives. This is a control plane issue; there is no data plane exposure from the vulnerability trigger itself.
Note: Software versions which have reached End of Technical Support (EoTS) are not evaluated.
📍 영향받는 시스템
NGINX Gateway Fabric (NGINX Plus를 데이터 플레인으로 사용하는 경우)
⚔️ 공격 벡터
인증된 공격자가 Custom Resource Definition(CRD)의 특정 필드에 악의적인 설정 명령어를 주입
🛡️ 대응 방법
NGINX Gateway Fabric의 최신 보안 패치 적용 및 입력값 검증 로직 업데이트
🔧 검증 코드
해당 CRD가 존재하고 사용 중인지 확인하여 취약한 구성 요소의 사용 여부를 파악합니다.
kubectl get crd nginxproxies.gateway.nginx.org authenticationfilters.gateway.nginx.org