// For flags

CVE-2021-41254

Privilege escalation to cluster admin on multi-tenant environments

Severity Score

8.8
*CVSS v3.1

Exploit Likelihood

*EPSS

Affected Versions

*CPE

Public Exploits

1
*Multiple Sources

Exploited in Wild

-
*KEV

Decision

-
*SSVC
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

*Credits: N/A
CVSS Scores
Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High
Attack Vector
Network
Attack Complexity
Low
Authentication
Single
Confidentiality
Complete
Integrity
Complete
Availability
Complete
* Common Vulnerability Scoring System
SSVC
  • Decision:-
Exploitation
-
Automatable
-
Tech. Impact
-
* Organization's Worst-case Scenario
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
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