Se han revelado tres vulnerabilidades de seguridad de alta gravedad en el controlador NGINX Ingress para Kubernetes que aún no han sido corregidas y podrían ser explotadas por un actor malicioso para sustraer credenciales confidenciales del clúster.
Las debilidades se presentan de la siguiente manera:
- CVE-2022-4886 (puntuación CVSS: 8.8) – La sanitización de rutas en Ingress-nginx puede ser burlada para obtener las credenciales del controlador Ingress-nginx.
- CVE-2023-5043 (puntuación CVSS: 7.6) – La inyección de anotaciones en Ingress-nginx provoca la ejecución arbitraria de comandos.
- CVE-2023-5044 (puntuación CVSS: 7.6) – Inyección de código a través de la anotación nginx.ingress.kubernetes.io/permanent-redirect.
«Estas vulnerabilidades permiten a un atacante que puede controlar la configuración del objeto Ingress robar credenciales confidenciales del clúster», comentó Ben Hirschberg, CTO y cofundador de la plataforma de seguridad de Kubernetes ARMO, en referencia a CVE-2023-5043 y CVE-2023-5044.
La explotación exitosa de estas fallas podría permitir que un adversario inyecte código no autorizado en el proceso del controlador de Ingress y obtenga acceso no autorizado a datos delicados.
CVE-2022-4886, como resultado de la falta de validación en el campo «spec.rules[].http.paths[].path«, posibilita que un atacante con acceso al objeto Ingress extraiga credenciales de la API de Kubernetes del controlador de Ingress.
Ante la falta de soluciones, los mantenedores del software han lanzado medidas de mitigación que involucran habilitar la opción «strict-validate-path-type» y configurar la bandera –enable-annotation-validation para prevenir la creación de objetos Ingress con caracteres no válidos y aplicar restricciones adicionales.
ARMO indicó que la actualización de NGINX a la versión 1.19, junto con la adición de la configuración de línea de comandos «–enable-annotation-validation«, resuelve las vulnerabilidades CVE-2023-5043 y CVE-2023-5044.