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

Vulnerabilidad en un script de shell en un Secreto en kustomize-controller de Kubernetes (CVE-2021-41254)

Gravedad CVSS v3.1:
ALTA
Tipo:
CWE-78 Neutralización incorrecta de elementos especiales usados en un comando de sistema operativo (Inyección de comando de sistema operativo)
Fecha de publicación:
12/11/2021
Última modificación:
17/11/2021

Descripción

kustomize-controller es un operador de Kubernetes, especializado en la ejecución de pipelines de entrega continua para infraestructuras y cargas de trabajo definidas con manifiestos de Kubernetes y montadas con Kustomize. Los usuarios que pueden crear secretos de Kubernetes, cuentas de servicio y objetos de personalización de Flux, podrían ejecutar comandos dentro del contenedor kustomize-controller al insertar un script de shell en un Secreto de Kubernetes. Esto puede ser usado para ejecutar comandos "kubectl" bajo la Cuenta de Servicio de kustomize-controller, permitiendo así que un usuario autenticado de Kubernetes obtenga privilegios de administrador de cluster. En las versiones afectadas, los entornos multitenant en los que los usuarios que no son administradores tienen permisos para crear objetos de personalización de Flux están afectados por este problema. Esta vulnerabilidad fue corregida en kustomize-controller versión v0.15.0 (incluida en flux2 versión v0.18.0) publicada el 08-10-2021. A partir de la versión v0.15, el kustomize-controller ya no ejecuta comandos shell en el Sistema Operativo del contenedor y el binario "kubectl" ha sido eliminado de la imagen del contenedor. Para evitar la creación de cuentas de servicio de Kubernetes con "secrets" en espacios de nombres propiedad de los inquilinos, puede usarse un webhook de comprobación de Kubernetes como Gatekeeper OPA o Kyverno

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:a:fluxcd:kustomize-controller:*:*:*:*:*:*:*:* 0.15.0 (excluyendo)