CVE-2022-24817
Description
Flux2 is an open and extensible continuous delivery solution for Kubernetes. Flux2 versions between 0.1.0 and 0.29.0, helm-controller 0.1.0 to v0.19.0, and kustomize-controller 0.1.0 to v0.23.0 are vulnerable to Code Injection via malicious Kubeconfig. In multi-tenancy deployments this can also lead to privilege escalation if the controller's service account has elevated permissions. Workarounds include disabling functionality via Validating Admission webhooks by restricting users from setting the `spec.kubeConfig` field in Flux `Kustomization` and `HelmRelease` objects. Additional mitigations include applying restrictive AppArmor and SELinux profiles on the controller’s pod to limit what binaries can be executed. This vulnerability is fixed in kustomize-controller v0.23.0 and helm-controller v0.19.0, both included in flux2 v0.29.0
How to fix
- fluxcd flux20.29.0 or later
- fluxcd helm-controller0.19.0 or later
- fluxcd kustomize-controller0.23.0 or later
- github.com/fluxcd/flux20.29.0 or later
- github.com/fluxcd/kustomize-controller0.23.0 or later
- github.com/fluxcd/helm-controller0.19.0 or later
Affected products
| Product | Affected versions | Fixed in |
|---|---|---|
| fluxcd flux2 | 0.1.0 ≤ v < 0.29.0 | 0.29.0 |
| fluxcd helm-controller | 0.2.0 ≤ v < 0.19.0 | 0.19.0 |
| fluxcd kustomize-controller | 0.1.0 ≤ v < 0.23.0 | 0.23.0 |
| github.com/fluxcd/flux2Go | 0.1.0 ≤ v < 0.29.0 | 0.29.0 |
| github.com/fluxcd/kustomize-controllerGo | 0.1.0 ≤ v < 0.23.0 | 0.23.0 |
| github.com/fluxcd/helm-controllerGo | 0.2.0 ≤ v < 0.19.0 | 0.19.0 |
Check your version
Choose the product and enter the version you run to see whether it falls in the affected range.
Attack Surface Management
See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.