A recent report has unveiled a set of five critical security vulnerabilities in the Ingress NGINX Controller for Kubernetes, potentially leading to unauthenticated remote code execution. This alarming development places over 6,500 Kubernetes clusters at immediate risk, particularly those exposed to the public internet. The vulnerabilities, identified as CVE-2025-24513, CVE-2025-24514, CVE-2025-1097, CVE-2025-1098, and CVE-2025-1974, have been collectively dubbed IngressNightmare by the cloud security firm Wiz, and they carry a critical CVSS score of 9.8.
It is important to note that these vulnerabilities do not affect the NGINX Ingress Controller, which is an alternative implementation for managing web traffic in Kubernetes. The exploitation of these vulnerabilities can lead to unauthorized access to all secrets stored across various namespaces within a Kubernetes cluster, potentially resulting in a complete cluster takeover, as reported by Wiz in a communication with The Hacker News.
The IngressNightmare vulnerabilities primarily target the admission controller component of the Ingress NGINX Controller. Alarmingly, approximately 43% of cloud environments could be susceptible to these security flaws. The Ingress NGINX Controller utilizes NGINX as both a reverse proxy and load balancer, facilitating the exposure of HTTP and HTTPS routes from the internet to internal services within a Kubernetes cluster.
The vulnerabilities exploit the fact that admission controllers, which are deployed within a Kubernetes pod, can be accessed over the network without any authentication. An attacker can inject arbitrary NGINX configurations remotely by sending a malicious ingress object, known as an AdmissionReview request, directly to the admission controller. This action can lead to code execution on the pod running the Ingress NGINX Controller, due to its elevated privileges and unrestricted network access.
In an experimental attack scenario, an adversary could upload a malicious payload, such as a shared library, to the pod using the client-body buffer feature of NGINX. Following this, they would send an AdmissionReview request containing one of the configuration directive injections mentioned earlier. This sequence would trigger the loading of the shared library, ultimately enabling remote code execution.
Hillai Ben-Sasson, a cloud security researcher at Wiz, explained that the attack chain revolves around injecting malicious configurations and using them to access sensitive files and execute arbitrary code. This exploitation could empower an attacker to leverage a robust Service Account to read Kubernetes secrets, culminating in a potential cluster takeover.
The following vulnerabilities have been identified in the Ingress NGINX Controller:
CVE-2025-24514 – auth-url Annotation Injection CVE-2025-1097 – auth-tls-match-cn Annotation Injection CVE-2025-1098 – mirror UID Injection CVE-2025-1974 – NGINX Configuration Code ExecutionIn response to these vulnerabilities, the Ingress NGINX Controller has released updates in versions 1.12.1, 1.11.5, and 1.10.7. Users are strongly advised to update to the latest version at their earliest convenience. Additionally, it is crucial to ensure that the admission webhook endpoint is not publicly accessible.
As a precautionary measure, limiting access to the admission controller solely to the Kubernetes API Server is recommended. If the admission controller is not necessary, temporarily disabling it can also help mitigate potential risks.