
CVE-2025-1974에 대한 익스플로잇으로, Kubernetes의 ingress-nginx 컨트롤러를 대상으로 하며, 제작된 공유 객체(shared object) 주입과 셸 접근을 통해 컨테이너 탈출을 가능하게 합니다.
말은 싸다, 그냥 코드를 보라.
자세한 내용은 https://www.wiz.io/blog/ingress-nginx-kubernetes-vulnerabilities 에서 확인할 수 있습니다.
shell.c에서 IP를 변경하세요.make shell.so를 실행하세요. (nginx-ingress-controller는 musl-libc 기반이므로, alpine에서 so를 빌드해야 동작할 수 있습니다.)python3 exploit.py를 실행하세요.25번째와 26번째 줄의 범위(pid와 fd의 범위)를 변경해야 할 수도 있습니다. 기본값은 속도와 성공률 사이의 절충안입니다. proofing 환경에 있을 때,
kpexec -n ingress-nginx ingress-nginx-controller-xxxxxxxxx-xxxxx -it -- bash를 실행해 root로 컨테이너에 진입한 후, 컨테이너 안에서ls -ahl /proc/*/fd/* | grep body를 실행하면 대상 값을 얻을 수 있습니다.