
A newly discovered high-severity vulnerability (CVE-2025-1098) in Kubernetes’ Ingress-Nginx controller allows attackers to execute arbitrary code and access sensitive cluster secrets through malicious annotation injections. Rated 8.8 (HIGH) on the CVSS scale, this vulnerability affects default installations where the controller has cluster-wide secret access. Security teams should prioritize patching as researchers estimate thousands of publicly accessible clusters may be vulnerable.
Technical Analysis of the Configuration Injection Vulnerability
The vulnerability stems from improper handling of mirror-target
and mirror-host
annotations in Kubernetes ingress objects. Attackers can craft malicious ingress configurations that inject arbitrary NGINX directives into the controller’s runtime environment. In default Kubernetes deployments, the Ingress-Nginx controller operates with elevated privileges, granting access to all cluster secrets when compromised.
Security researchers at Wiz discovered that approximately 6,500 publicly accessible Kubernetes clusters expose vulnerable admission controllers, with 43% of cloud environments potentially affected. The attack chain begins when an attacker with ingress object modification privileges injects malicious annotations that get processed by the admission controller.
Exploitation Requirements and Attack Surface
Successful exploitation requires three key conditions: network access to the admission controller (often exposed in public clusters), permissions to create or modify ingress objects, and a vulnerable version of the Ingress-Nginx controller. The vulnerability is particularly dangerous in multi-tenant environments where namespace isolation is relied upon for security.
Researchers have identified this flaw as part of a broader set of vulnerabilities collectively dubbed “IngressNightmare,” which includes several other high-severity issues affecting Kubernetes ingress controllers. These vulnerabilities can potentially be chained together for more severe attacks, particularly when combined with CVE-2025-1974 which allows unauthenticated remote code execution under specific conditions.
Detection and Immediate Mitigation Steps
Organizations can check for vulnerable deployments using the following command:
kubectl get pods --all-namespaces --selector app.kubernetes.io/name=ingress-nginx
The Kubernetes Security Response Committee recommends these immediate actions:
- Upgrade to patched versions (v1.12.1 or v1.11.5)
- Restrict network access to admission controllers
- Implement monitoring for suspicious annotations in ingress objects
- Review all existing ingress configurations for malicious patterns
Long-Term Security Recommendations
Beyond immediate patching, organizations should implement defense-in-depth measures including network policies to restrict controller communications, regular audits of ingress configurations, and principle of least privilege for service accounts. The Kubernetes maintainers have emphasized that proper handling of NGINX configuration parameters is crucial for cluster security.
Tabitha Sable from the Kubernetes Security Response Committee stated: “This vulnerability demonstrates why rigorous patch management and configuration hardening are essential for secure Kubernetes operations. Organizations should treat ingress controllers as high-value attack surfaces requiring special protection.”
Conclusion and Additional Resources
CVE-2025-1098 represents a significant risk to Kubernetes environments, particularly those with internet-exposed admission controllers. The vulnerability’s high CVSS score and potential for cluster-wide compromise warrant immediate attention from security teams.
For more technical details, refer to the NVD entry and Kubernetes GitHub advisory. Additional analysis is available from The Hacker News and Tenable’s research blog.