
PoC di escalation RCE del controller di ammissione ingress-nginx
CVE-2025-1974 (IngressNightmare) è una vulnerabilità critica (CVSS 9.8) di esecuzione di codice remoto non autenticata nel controller di ammissione ingress-nginx di Kubernetes.
Flusso dell'attacco:
AdmissionReview) con l'annotazione che inietta la direttiva ssl_enginenginx -t che carica ed esegue il .so malevoloImpatto:
Esegui lo script ./setup_cve_env fornito. Installerà tutti gli strumenti necessari (minikube, kubectl, helm) e creerà un cluster minikube a un nodo.
Successivamente, una versione vulnerabile del NGINX ingress-controller verrà distribuita nel cluster, insieme a un pod attacker che utilizzerà il webhook di ammissione del controller per inviare il payload.
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
I log degli errori della risposta mostreranno CVE-2025-1974 RCE TRIGGERED. Inoltre, i log degli errori esiltreranno i segreti, poiché il pod del controller ingress-nginx ha accesso a tutti i segreti del cluster.
Il payload .so creerà anche un file pwned. Controlla la sua presenza con:
kubectl exec -n ingress-nginx $CPOD -- ls -l /tmp/pwned