Configuration injection through ingress-nginx mirror annotations
CVE-2025-1098 is an input-validation vulnerability in the Kubernetes ingress-nginx controller. Unsanitized mirror-target and mirror-host Ingress annotations allow an attacker to inject arbitrary NGINX configuration. Exploitation can result in arbitrary code execution in the controller's security context and disclosure of Kubernetes Secrets accessible to its service account. Default installations grant the controller access to Secrets cluster-wide. Fixed releases include ingress-nginx 1.11.5 and 1.12.1.
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 configuration injection and code execution. Attackers can obtain Secrets accessible to the controller, potentially exposing Secrets throughout the cluster in default installations. Compromised credentials can enable further cluster compromise, depending on their permissions.
If you can’t patch tonight, do this now.
Restrict use of the vulnerable mirror-target and mirror-host annotations. If immediate patching is not possible, disabling the Validating Admission Controller or restricting network access to its webhook can reduce exposure to exploitation chains involving CVE-2025-1974; these measures do not eliminate the underlying annotation-injection vulnerability. Re-enable admission validation after upgrading.
Patch, then assume compromise.
Upgrade ingress-nginx to version 1.11.5 or later in the 1.11 branch, or version 1.12.1 or later in the 1.12 branch. Audit Ingress annotations and investigate suspicious controller activity. Patching does not remediate an existing compromise.
2 exploits validated by Mallory's analysis. Hidden: 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.