Vulnerabilidades críticas en Ingress NGINX Controller para Kubernetes permiten ejecución remota de código
Investigadores de Wiz descubrieron vulnerabilidades críticas en el controlador Ingress NGINX para Kubernetes, que podrían permitir a atacantes ejecutar código de forma remota (RCE) en clústeres afectados. Estas fallas, denominadas colectivamente como “IngressNightmare”, exponen sistemas empresariales a riesgos significativos si no se mitigan adecuadamente.
Detalles técnicos de las vulnerabilidades
Las vulnerabilidades identificadas afectan específicamente al componente ingress-nginx, utilizado ampliamente para gestionar el tráfico entrante en clústeres Kubernetes. Los principales problemas incluyen:
- CVE-2021-25745: Permite la inyección de comandos a través de anotaciones maliciosas en recursos Ingress.
- CVE-2021-25746: Facilita el bypass de restricciones de seguridad mediante la manipulación de rutas.
- CVE-2021-25747: Posibilita la escalada de privilegios dentro del clúster.
Estas vulnerabilidades son particularmente peligrosas porque el componente ingress-nginx suele tener altos privilegios dentro del clúster, actuando como puerta de entrada para el tráfico externo.
Impacto y vectores de ataque
Un atacante podría explotar estas vulnerabilidades para:
- Ejecutar código arbitrario en los pods del controlador ingress-nginx.
- Acceder a información sensible almacenada en el clúster.
- Moverse lateralmente dentro de la infraestructura Kubernetes.
- Comprometer múltiples servicios conectados al clúster.
El vector principal de ataque implica la creación o modificación de recursos Ingress con configuraciones maliciosas, que luego son procesadas por el controlador vulnerable.
Versiones afectadas y mitigaciones
Las versiones afectadas incluyen múltiples releases del controlador ingress-nginx. Los administradores deben:
- Actualizar inmediatamente a las versiones parcheadas (0.49.0 o superior para la rama 0.x, 1.1.0 o superior para la rama 1.x).
- Implementar políticas RBAC estrictas para limitar quién puede crear o modificar recursos Ingress.
- Monitorizar actividades sospechosas relacionadas con recursos Ingress.
- Considerar el uso de herramientas como OPA Gatekeeper para validar configuraciones Ingress.
Implicaciones para la seguridad en Kubernetes
Este caso resalta varios desafíos importantes en la seguridad de Kubernetes:
- La complejidad de los componentes de red en Kubernetes aumenta la superficie de ataque.
- Los controladores Ingress, al ser componentes críticos, requieren especial atención en su configuración y actualización.
- La naturaleza dinámica de los entornos Kubernetes dificulta el mantenimiento de un inventario preciso de vulnerabilidades.
Para más detalles técnicos sobre estas vulnerabilidades, consulta el reporte original de SecurityWeek.
Conclusión y mejores prácticas
Las vulnerabilidades en ingress-nginx subrayan la importancia de:
- Mantener todos los componentes de Kubernetes actualizados.
- Implementar controles de seguridad en profundidad.
- Auditar regularmente las configuraciones de clúster.
- Adoptar principios de mínimo privilegio en todas las capas.
Las organizaciones que utilizan Kubernetes deben priorizar la revisión de sus implementaciones de ingress-nginx y aplicar las mitigaciones recomendadas para proteger sus entornos contra posibles explotaciones de estas vulnerabilidades críticas.