Summary
A critical vulnerability in the ingress-nginx Validating Admission Controller allows an unauthenticated attacker with access to the pod network to achieve arbitrary code execution within the ingress-nginx controller process. In the default ingress-nginx installation the controller has access to all Secrets cluster-wide, meaning successful exploitation can result in full cluster Secret disclosure.
Impact
An unauthenticated attacker who can reach the ingress-nginx admission webhook endpoint from within the pod network can execute arbitrary code in the context of the ingress-nginx controller pod. Because the controller is granted cluster-wide read access to Secrets in a default installation, all Secrets in the cluster — including service account tokens and TLS certificates — are at risk of disclosure. This vulnerability is rated CRITICAL (CVSS 9.8) due to the lack of required authentication, the absence of user interaction, and the high impact across all three security properties (confidentiality, integrity, availability).
Detection
There are no known indicators of compromise that confirm this vulnerability has been exploited. Verify whether ingress-nginx is present in your cluster and check the running version:
kubectl get pods --all-namespaces --selector app.kubernetes.io/name=ingress-nginx
kubectl get deployment -n ingress-nginx ingress-nginx-controller -o jsonpath='{.spec.template.spec.containers[*].image}'
If you find evidence that this vulnerability has been exploited, contact security@kubernetes.io.
Mitigation
Upgrade ingress-nginx immediately to one of the patched versions:
- v1.11.5 or later (for the 1.11.x release line)
- v1.12.1 or later (for the 1.12.x release line)
Refer to the Upgrading Ingress-nginx documentation for upgrade instructions.
Before applying the patch, this vulnerability can be mitigated by disabling the Validating Admission Controller functionality of ingress-nginx. Disabling the admission webhook reduces functionality but removes the unauthenticated attack surface until the upgrade can be applied.