CVE-2021-41254 json
Privilege escalation to cluster admin on multi-tenant environments
published 2021-11-12 4 y ago modified 2026-09-10 1 mo ago also BIT-kustomize-2021-41254 , EUVD-2021-2283 , GHSA-35rf-v2jv-gfg7 , GO-2022-0260
- cvss
- 8.8
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 1.8%
- EPSS 1.8% chance of exploitation in 30 days, percentile 78%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- go github.com/fluxcd/kustomize-controller 0.15.0
- bitnami kustomize 0.15.0
- fluxcd kustomize-controller 0.15.0
Exploit prediction
1.82% chance of exploitation in the next 30 days, higher than 78% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/fluxcd/kustomize-controller/security/advisories/GHSA-35rf-v2jv-gfg7 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 8.8 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| GitHub | 3.1 | 8.8 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| NVD | 3.1 | 8.8 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| NVD | 2.0 | 9.0 | AV:N/AC:L/Au:S/C:C/I:C/A:C |
| OSV | 3.1 | 8.8 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| go | github.com/fluxcd/kustomize-controller | <0.15.0 |
0.15.0 |
| bitnami | kustomize | <0.15.0 |
0.15.0 |
Affected products
- fluxcd kustomize-controller
Classification
- Weakness
-
- CWE-78 Improper Neutralization of Special Elements used in an OS Command
References
-
github.com
/fluxcd/kustomize-controller/security/advisories/GHSA-35rf-v2jv-gfg7
web, exploit, mitigation, third-party-advisory, advisory
-
nvd.nist.gov
/vuln/detail/CVE-2021-41254
advisory, web
-
github.com
/fluxcd/kustomize-controller
package
Sources
- CVE List CVE-2021-41254
- GitHub Advisory GHSA-35rf-v2jv-gfg7
- NVD CVE-2021-41254
- OSV BIT-kustomize-2021-41254
- OSV GO-2022-0260
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.