Kubernetes ingress-nginx RCE Vulnerability Explained (CVE-2025-1974)

A critical security vulnerability was identified in Kubernetes ingress-nginx that could allow an unauthenticated attacker to perform Remote Code Execution (RCE) within the ingress-nginx controller pod.

5/10/20262 min read

Overview

A critical security vulnerability was identified in Kubernetes ingress-nginx that could allow an unauthenticated attacker to perform Remote Code Execution (RCE) within the ingress-nginx controller pod.

This vulnerability is tracked as:

  • CVE-2025-1974

  • CVSS Score: 9.8 (Critical)

The issue affects clusters running vulnerable versions of ingress-nginx and may lead to unauthorized access to Kubernetes Secrets and cluster resources.

What is CVE-2025-1974?

CVE-2025-1974 is a critical vulnerability in the ingress-nginx admission controller component.

Under certain conditions, an attacker with access to the pod network can exploit the admission controller and execute arbitrary code inside the ingress-nginx controller context.

Since ingress-nginx controllers commonly have access to cluster-wide Secrets, successful exploitation may result in:

  • Exposure of Kubernetes Secrets

  • Unauthorized access to internal services

  • Privilege escalation

  • Lateral movement within the cluster

  • Full cluster compromise in severe cases

Why This Vulnerability Is Dangerous

The vulnerability requires no authentication and can be exploited remotely from within the pod network.

The ingress-nginx controller is a high-privileged component in many Kubernetes environments. If compromised, attackers may gain access to sensitive configurations, credentials, and workloads running across the cluster.

This makes the vulnerability highly critical for production Kubernetes environments.

Severity Details

MetricValueCVE IDCVE-2025-1974SeverityCriticalCVSS Score9.8Attack VectorNetworkPrivileges RequiredNoneUser InteractionNone

Affected Versions

The following ingress-nginx versions are vulnerable:

  • Versions earlier than v1.11.0

  • v1.11.0 to v1.11.4

  • v1.12.0

How to Check if Your Cluster Is Vulnerable

Run the following command to verify whether ingress-nginx is installed in the cluster:

kubectl get pods --all-namespaces \
--selector app.kubernetes.io/name=ingress-nginx

To check the running ingress-nginx controller version:

kubectl describe deployment ingress-nginx-controller -n ingress-nginx

or

kubectl get pods -n ingress-nginx -o wide

Root Cause

The issue originates from improper handling of admission review requests in the ingress-nginx admission controller.

An attacker capable of reaching the admission webhook endpoint may exploit the vulnerability to inject malicious payloads and achieve remote code execution.

Remediation Steps
Option 1: Upgrade ingress-nginx (Recommended)

Upgrade ingress-nginx to one of the fixed versions:

  • v1.11.5

  • v1.12.1

Example Helm upgrade:

helm upgrade ingress-nginx ingress-nginx/ingress-nginx \
--namespace ingress-nginx \
--set controller.image.tag=v1.12.1

Option 2: Disable Admission Webhooks

If immediate upgrade is not possible, disable the admission controller webhooks.

Using Helm:

helm upgrade ingress-nginx ingress-nginx/ingress-nginx \
--namespace ingress-nginx \
--set controller.admissionWebhooks.enabled=false

Note: Disabling admission webhooks may impact ingress validation functionality.

Validation Steps

After remediation, verify the deployed version:

kubectl get deployment -n ingress-nginx ingress-nginx-controller \
-o=jsonpath='{.spec.template.spec.containers[0].image}'

To verify webhook configurations:

kubectl get validatingwebhookconfigurations

Security Best Practices

To reduce the risk of similar vulnerabilities:

  • Keep ingress-nginx updated to the latest stable release

  • Restrict pod-to-pod communication using Kubernetes Network Policies

  • Limit RBAC permissions for ingress controllers

  • Enable centralized logging and monitoring

  • Regularly scan Kubernetes environments for vulnerabilities

  • Follow Kubernetes and ingress-nginx security advisories proactively

Key Takeaways
  • CVE-2025-1974 is a critical Kubernetes ingress-nginx vulnerability with a CVSS score of 9.8

  • Vulnerable ingress-nginx versions can allow remote code execution

  • Upgrading to patched versions is strongly recommended

  • Kubernetes ingress controllers should always be secured and regularly updated

  • Continuous vulnerability monitoring is essential for production clusters

Final Thoughts

Security vulnerabilities in Kubernetes components can have serious consequences, especially when they affect high-privileged services like ingress controllers.

Regular patch management, proactive monitoring, and following Kubernetes security best practices are essential to maintaining a secure and resilient cloud-native environment.