
ingress-nginx Admission Controller RCE 권한 상승 PoC
**CVE-2025-1974 (IngressNightmare)**는 Kubernetes ingress-nginx admission controller에서 발견된 심각한 (CVSS 9.8) 인증되지 않은 원격 코드 실행 취약점입니다.
공격 흐름:
ssl_engine 지시어를 주입하는 어노테이션이 포함된 조작된 Ingress 관련 매니페스트(AdmissionReview)를 전송nginx -t를 실행하여 악성 .so 파일을 로드하고 실행영향:
제공된 ./setup_cve_env 스크립트를 실행하세요. 필요한 모든 도구(minikube, kubectl, helm)를 설치하고 단일 노드 minikube 클러스터를 생성합니다. 그런 다음 취약한 버전의 NGINX ingress-controller가 클러스터에 배포되며, 공격자 파드가 함께 배포됩니다. 이 파드는 컨트롤러 admission webhook을 사용하여 페이로드를 전송합니다.
WEBHOOK_IP=$(kubectl get pod -n ingress-nginx -l app.kubernetes.io/component=controller -o jsonpath='{.items[0].status.podIP}')
kubectl exec attacker -- python3 /tmp/exploit.py $WEBHOOK_IP
응답 오류 로그에 CVE-2025-1974 RCE TRIGGERED가 표시됩니다. 또한, ingress 컨트롤러 파드가 모든 클러스터 시크릿에 접근할 수 있으므로 오류 로그를 통해 시크릿이 유출됩니다.
.so 페이로드는 pwned 파일도 생성합니다. 다음 명령으로 존재 여부를 확인하세요:
kubectl exec -n ingress-nginx $CPOD -- ls -l /tmp/pwned