Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

[Actualización 27/03/2025] Ejecución remota de código en Ingress NGINX de Kubernetes

Fecha de publicación 25/03/2025
Identificador
INCIBE-2025-0155
Importancia
5 - Crítica
Recursos Afectados

Controlador Ingress NGINX versiones:

  • anteriores a 1.11.0;
  • desde 1.11.0 hasta 1.11.4;
  • 1.12.0.

Nota: Amazon Elastic Kubernetes Service (Amazon EKS) no proporciona ni instala el controlador Ingress NGINX por lo que no se ve afectado por estos problemas.

Descripción

El equipo de investigación de Wiz ha descubierto 5 vulnerabilidades: una se severidad crítica, 3 altas y una media en el controlador Ingress NGINX, un proyecto para Kubernetes, las cuales podrían permitir ejecución remota de código sin necesidad de autenticación y acceso a los información confidencial en todos los espacios de nombres del clúster.

Solución

Actualizar a las versiones  1.12.1 y 1.11.5.

Si esto no fuera posible:

  • Limitar el acceso de red al webhook de validación de ingress-nginx, este webhook solamente debe ser accesible por el servidor de API de K8s, cualquier otro acceso debe considerarse como no confiable.
  • Desactivar la característica Validating Admission Controller de ingress-nginx.
    • Si se ha instalado ingress-nginx mediante Helm, esto se puede hacer reinstalando estableciendo el valor de Helm: controller.admissionWebhooks.enabled=false.
    • Si se ha instalado manualmente, eliminando la ValidatingWebhookconfiguration llamada ingress-nginx-admission.
    • Editando el Daemonset o Deployment de ingress-nginx-controller eliminando el parámetro --validating-webhook de la lista de argumentos del contenedor del controlador.

En caso de no tener instalado ingress-nginx en el clúster, este no se verá afectado. Para comprobarlo, ejecutar: kubectl get pods --all-namespaces --selector app.kubernetes.io/name=ingress-nginx.

Detalle

La vulnerabilidad de severidad crítica, CVE-2025-1974, afecta al componente Ingress NGINX Controller, un componente clave de Kubernetes que gestiona el tráfico hacia los servicios internos. El webhook vulnerable es accesible desde cualquier dispositivo dentro del clúster sin necesidad de autenticación. Un atacante, no autenticado, con acceso a la red de pods puede ejecutar código arbitrario en el contexto del controlador Ingress NGINX. Esto podría provocar la divulgación de secretos accesibles al controlador en todos los espacios de nombres del clúster.

Las vulnerabilidades de severidad alta podrían usarse para inyectar configuración en nginx. Afectando a los siguientes parámetros:

  • CVE-2025-24514 afecta a la anotación auth-url.
  • CVE-2025-1098 afecta a mirror-target y mirror-host.
  • CVE-2025-1097 afecta a auth-tls-match-cn.

Para la vulnerabilidad de severidad media se ha asignado el identificador CVE-2025-24513.