CVE-2021-41254
Privilege escalation to cluster admin on multi-tenant environments
Severity Score
Exploit Likelihood
Affected Versions
Public Exploits
1Exploited in Wild
-Decision
Descriptions
kustomize-controller is a Kubernetes operator, specialized in running continuous delivery pipelines for infrastructure and workloads defined with Kubernetes manifests and assembled with Kustomize. Users that can create Kubernetes Secrets, Service Accounts and Flux Kustomization objects, could execute commands inside the kustomize-controller container by embedding a shell script in a Kubernetes Secret. This can be used to run `kubectl` commands under the Service Account of kustomize-controller, thus allowing an authenticated Kubernetes user to gain cluster admin privileges. In affected versions multitenant environments where non-admin users have permissions to create Flux Kustomization objects are affected by this issue. This vulnerability was fixed in kustomize-controller v0.15.0 (included in flux2 v0.18.0) released on 2021-10-08. Starting with v0.15, the kustomize-controller no longer executes shell commands on the container OS and the `kubectl` binary has been removed from the container image. To prevent the creation of Kubernetes Service Accounts with `secrets` in namespaces owned by tenants, a Kubernetes validation webhook such as Gatekeeper OPA or Kyverno can be used.
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
CVSS Scores
SSVC
- Decision:-
Timeline
- 2021-09-15 CVE Reserved
- 2021-11-12 CVE Published
- 2024-08-04 CVE Updated
- 2024-08-04 First Exploit
- 2025-01-29 EPSS Updated
- ---------- Exploited in Wild
- ---------- KEV Due Date
CWE
- CWE-78: Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')
CAPEC
References (1)
URL | Tag | Source |
---|
URL | Date | SRC |
---|---|---|
https://github.com/fluxcd/kustomize-controller/security/advisories/GHSA-35rf-v2jv-gfg7 | 2024-08-04 |
URL | Date | SRC |
---|
URL | Date | SRC |
---|
Affected Vendors, Products, and Versions
Vendor | Product | Version | Other | Status | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Vendor | Product | Version | Other | Status | <-- --> | Vendor | Product | Version | Other | Status |
Fluxcd Search vendor "Fluxcd" | Kustomize-controller Search vendor "Fluxcd" for product "Kustomize-controller" | < 0.15.0 Search vendor "Fluxcd" for product "Kustomize-controller" and version " < 0.15.0" | - |
Affected
|