
CVE-2025-1974에 대한 PoC: 안전하지 않은 설정 주입을 통한 Ingress-NGINX (<v1.12.1)의 치명적 RCE. 자격 증명 없이 팟 네트워크에서 악용 가능하며, 코드 실행 및 잠재적 클러스터 장악을 가능하게 합니다. v1.12.1 및 v1.11.5에서 수정되었습니다. 연구/교육 전용입니다.
⚠️ Critical RCE in Ingress-NGINX via Configuration Injection (CVE-2025-1974 and more)
이 저장소는 Kubernetes용 Ingress-NGINX 컨트롤러의 CVE-2025-1974 (CVSS 9.8, 중요(Critical)) 취약점에 대한 개념 증명(PoC) 익스플로잇을 포함합니다. 이 결함은 Validating Admission Controller를 사용할 때 안전하지 않은 설정 주입을 통해 인증되지 않은 원격 코드 실행을 허용합니다. 이는 2025년 3월 26일에 공개 및 패치된 5개의 취약점 중 가장 심각한 것입니다.
📌 영향:
• 영향을 받는 버전: v1.12.1 / v1.11.5 이전의 Ingress-NGINX 컨트롤러
• 공격 표면:
• Pod 네트워크 상의 모든 워크로드가 악용 가능 — 자격 증명이나 관리자 권한 불필요
• 공격자는 configuration-snippet 같은 어노테이션을 통해 임의의 NGINX 지시문(예: content_by_lua_block)을 주입할 수 있음
• 잘못된 설정과 결합 시 공격자는 시크릿을 유출하거나 전체 클러스터를 손상시킬 수 있음
• 범위:
• Ingress-NGINX는 기본적으로 모든 클러스터 시크릿에 접근할 수 있는 경우가 많음
• 일반적인 클라우드 VPC 또는 기업 네트워크의 Pod는 어드미션 컨트롤러 엔드포인트에 도달할 수 있음
• 영향을 받는 클러스터에는 Admission Control이 활성화된(많은 설정에서 기본값) Ingress-NGINX를 실행하는 클러스터가 포함됨
🛡️ 완화 방법:
• Ingress-NGINX v1.12.1 또는 v1.11.5로 업그레이드
• 위험한 어노테이션(configuration-snippet, server-snippet 등)을 비활성화
• Validating Admission Webhook에 대한 네트워크 접근을 차단
• 엄격한 RBAC를 적용하여 무단 Ingress 생성을 방지
🧪 이 PoC는 공격자가 취약점을 활용하여 인그레스 컨트롤러 파드 내부에서 임의 코드를 실행하는 방법을 보여줍니다. 인그레스 컨트롤러는 종종 내부 서비스와 시크릿에 접근할 수 있어, 취약한 구성에서 전체 클러스터 장악으로 확대될 수 있습니다.
🚨 면책 조항: 이 PoC는 교육 및 연구 목적으로만 제공됩니다. 명시적 허가 없이 사용하지 마십시오.