Configuration injection via auth-url annotation in ingress-nginx
CVE-2025-24514 is a configuration injection vulnerability in the Kubernetes ingress-nginx controller. Improper sanitization of the auth-url Ingress annotation allows an attacker to inject arbitrary nginx configuration through a crafted Ingress object. Exploitation can result in arbitrary code execution in the controller context and disclosure of Kubernetes Secrets accessible to its service account. Default installations grant the controller access to Secrets cluster-wide. This vulnerability is one of the issues collectively known as IngressNightmare.
What it means and what to do now: patch path, interim mitigations, and the assume-compromise checklist.
What an attacker gets, and what they’ve been doing with it.
Successful exploitation can compromise the ingress-nginx controller through arbitrary code execution and expose Kubernetes Secrets within its access scope, which is cluster-wide by default. It can also compromise the integrity and availability of cluster ingress resources. Depending on the privileges and credentials exposed, Secret disclosure may enable broader compromise or complete Kubernetes cluster takeover.
If you can’t patch tonight, do this now.
Until upgrading, restrict permission to create or modify Ingress resources and vulnerable annotations, and reduce the controller's access to Secrets where feasible. These are operational risk-reduction measures rather than a complete fix. Disabling the Validating Admission Controller or restricting network access to its webhook mitigates the unauthenticated exploitation path involving CVE-2025-1974, but should not be treated as eliminating CVE-2025-24514's authenticated Ingress configuration injection path.
Patch, then assume compromise.
Upgrade ingress-nginx to version 1.11.5 or later in the 1.11 release branch, or version 1.12.1 or later in the 1.12 release branch. Investigate suspected prior exploitation separately: upgrading does not remediate an existing compromise.
2 exploits validated by Mallory's analysis. Hidden: 1 rejected by Mallory's analysis as not a working exploit; 1 not yet analyzed, such as Exploit-DB entries.
16 sources tracked across advisories, community write-ups, and news. New activity surfaces here as Mallory finds it.