Vulnerabilidades en controlador de ingreso NGINX para Kubernets

Se han descubierto tres vulnerabilidades Altas en el controlador NGINX Ingress para Kubernetes que no cuentan con correcciones disponibles, y que podrían ser explotadas por un atacante para sustraer credenciales secretas del clúster.

  • CVE-2022-4886 -> CVSS nivel 8,8
    Debido a la ausencia de validación en el campo «spec.rules[].http.paths[].path», un atacante que tenga acceso al objeto Ingress puede desviar las credenciales de la API de Kubernetes del controlador de ingreso. Elude el proceso de limpieza de la ruta de Ingress-nginx para acceder a las credenciales del controlador de Ingress-nginx.
  • CVE-2023-5043 -> CVSS nivel 7,6
    La inserción de anotaciones en Ingress-nginx conlleva a la ejecución de comandos arbitrarios.
  • CVE-2023-5044 -> CVSS nivel 7,6
    Inserción de código a través de la anotación nginx.ingress.kubernetes.io/permanent-redirect.
    El aprovechamiento efectivo de las vulnerabilidades podría darle a un atacante la capacidad de introducir código no autorizado en el proceso del controlador de ingreso y acceder a información confidencial de manera no autorizada.

Productos Afectados

NGINX Ingress Controllers para Kubernets anteriores a la versión 1.9.0

Solución

  • Para vulnerabilidades CVE-2023-5043 y CVE-2023-5044
    Actualizar los controladores NGINX a la versión 1.9.0 y agregar la configuración de línea de comando “–enable-annotation-validation”.
  • Para vulnerabilidad CVE-2022-4886
    Si la regla utiliza «pathType» con «Exact» o «Prefix», se requiere la activación de la opción «strict-validate-path-type» a partir de la versión 1.8.0 del controlador nginx-ingress. Si se opta por «pathType» «ImplementationSpecific», se debe implementar una política de controlador de admisión.

Recomendación

Aplicar los parches y las reglas para la mitigación de sus sistemas lo más pronto posible.

Referencias: