Upstream Ingress-Nginx CVEs - CVE-2025-15566, CVE-2026-1580, CVE-2026-24512, CVE-2026-24513, and CVE-2026-24514
Article Number: 000022374
Environment
- A Rancher-provisioned or standalone RKE2 cluster with the
ingress-nginxIngress controller. -
ingress-nginxversions: -
< v1.13.7
- v1.14.x < v1.14.3
-
RKE2 versions (affected):
-
<= v1.32.11+rke2r1
- v1.33 <= v1.33.7+rke2r1
- v1.34 <= v1.34.3+rke2r1
- v1.35.0+rke2r1
Situation
The upstream Kubernetes project announced, on February 1st and 5th of 2026, multiple security vulnerabilities affecting the ingress-nginx component:
If a cluster is not running ingress-nginx - for example, if it is running the Traefik Ingress controller instead - it is unaffected. You can verify the presence of the RKE2 ingress-nginx instance using the following command:
kubectl get pods --all-namespaces --selector app.kubernetes.io/name=rke2-ingress-nginx
Note: K3s clusters utilize the Traefik Ingress controller by default and are not affected by these ingress-nginx issues unless you have manually deployed a custom instance of ingress-nginx.
Cause
Multiple security issues were discovered in the ingress-nginx controller that could allow an attacker to bypass security controls or execute arbitrary code. The vulnerabilities are categorized as follows:
- Configuration Injection (CVE-2025-15566, CVE-2026-1580, CVE-2026-24512): Improper validation of the
auth-proxy-set-headersandauth-methodannotations, and handling ofImplementationSpecificpath types, allows an attacker to inject configuration into the generated nginx configuration. This can lead to arbitrary code execution, and disclosure of Kubernetes Secrets accessible to the controller. Note: In default installations, theingress-nginxcontroller has permissions to access all Secrets cluster-wide. - Authentication Bypass (CVE-2026-24513): Insufficient validation of the
X-Codeheader when using a custom error backend could allow an Ingress with theauth-urlannotation to be accessed even when authentication fails. - Denial of Service (CVE-2026-24514): A vulnerability in the controller's internal processing, could lead to OOM events for
ingress-nginxcontroller Pods or Nodes, as a result of large requests sent to theingress-nginxvalidating admission controller.
Resolution
Upgrade RKE2
The primary resolution is to upgrade to an RKE2 patch release containing the ingress-nginx fixes. Upgrade to one of the following versions (or later), which package a patched version of ingress-nginx:
Workarounds
If you are unable to upgrade your RKE2 version immediately, consider the following mitigation steps:
- CVE-2025-15566: Use a validating admission controller to reject Ingress resources containing the
nginx.ingress.kubernetes.io/auth-proxy-set-headersannotation. - CVE-2026-1580: Use a validating admission controller to reject Ingress resources containing the
nginx.ingress.kubernetes.io/auth-methodannotation. - CVE-2026-24512: Use a validating admission controller to reject Ingress resources with the
ImplementationSpecificpath type. - CVE-2026-24513: Verify that any custom errors backend (if configured) correctly respects and validates the
X-CodeHTTP header. - CVE-2026-24514: No mitigation is available for this specific vulnerability. An upgrade to a patched version is required.