
ingress-nginx Admission Controller RCE Eskalation PoC
CVE-2025-1974 (IngressNightmare) ist eine kritische (CVSS 9.8) ohne Authentifizierung ausnutzbare Remote-Code-Ausführungs-Schwachstelle im Kubernetes ingress-nginx Admission Controller.
Angriffsablauf:
AdmissionReview) mit der Annotation, die die ssl_engine-Direktive injiziertnginx -t aus, welches die schädliche .so lädt und ausführtAuswirkungen:
Führen Sie das bereitgestellte Skript ./setup_cve_env aus. Es installiert alle benötigten Tools (minikube, kubectl, helm) und erstellt ein Minikube-Cluster mit einem Knoten. Anschließend wird eine anfällige Version des NGINX ingress-controllers im Cluster bereitgestellt, zusammen mit einem Angreifer-Pod, der den Admission Webhook des Controllers nutzt, um die Payload zu senden.
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
Die Antwort-Fehlerprotokolle zeigen CVE-2025-1974 RCE TRIGGERED an. Außerdem werden die Fehlerprotokolle Secrets exfiltrieren, da der ingress-controller Pod Zugriff auf alle Cluster-Secrets hat.
Die .so-Payload erstellt außerdem eine Datei namens pwned. Überprüfen Sie ihre Existenz mit:
kubectl exec -n ingress-nginx $CPOD -- ls -l /tmp/pwned