CRITICAL🇬🇧 English

CVE-2022-24817

Code Injection przez złośliwy Kubeconfig w Flux2 / helm-controller / kustomize-controller

CVSS 9.9v3.1pub. 2022-05-06upd. 2024-11-21

Podatność typu code injection w Flux2 oraz powiązanych kontrolerach (helm-controller, kustomize-controller) umożliwia uwierzytelnionemu użytkownikowi wykonanie dowolnego kodu poprzez spreparowany plik Kubeconfig. W środowiskach wielodostępnych podatność może dodatkowo prowadzić do privilege escalation, jeśli konto serwisowe kontrolera posiada podwyższone uprawnienia.

Pokaż oryginał (EN)

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

🤖 Analiza AI
Jak działa

Atakujący z dostępem do tworzenia lub modyfikowania obiektów Flux (`Kustomization` lub `HelmRelease`) może ustawić pole `spec.kubeConfig` na złośliwą wartość. Kontroler przetwarza podany Kubeconfig bez odpowiedniej walidacji, co pozwala na wstrzyknięcie i wykonanie arbitralnego kodu w kontekście procesu kontrolera. W środowiskach multi-tenancy, jeśli konto serwisowe kontrolera dysponuje szerokimi uprawnieniami w klastrze Kubernetes, atakujący może eskalować swoje uprawnienia ponad przypisaną mu rolę.

Skutki

Atakujący może wykonać dowolny kod w środowisku kontrolera, uzyskując pełny dostęp do poufnych danych, możliwość modyfikacji zasobów klastra oraz zakłócenia jego działania. W scenariuszu wielodostępnym możliwe jest przejęcie uprawnień innych najemców lub uprawnień administracyjnych klastra.

Mitygacja

Należy zaktualizować do kustomize-controller v0.23.0 oraz helm-controller v0.19.0, które są zawarte w Flux2 v0.29.0. Jako obejście tymczasowe zaleca się ograniczenie możliwości ustawiania pola `spec.kubeConfig` w obiektach `Kustomization` i `HelmRelease` poprzez Validating Admission Webhooks. Dodatkowym środkiem zaradczym jest zastosowanie restrykcyjnych profili AppArmor i SELinux na podach kontrolera w celu ograniczenia możliwości wykonywania procesów.

Kogo dotyczy

Flux2 w wersjach od 0.1.0 do 0.29.0 (wyłącznie), helm-controller od 0.1.0 do v0.19.0 (wyłącznie), kustomize-controller od 0.1.0 do v0.23.0 (wyłącznie).

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
  • Fluxcd Flux2

    APP
    Fluxcd
    0.1.0 – 0.29.0 (bez)
  • Fluxcd Helm Controller

    APP
    Fluxcd
    0.2.0 – 0.19.0 (bez)
  • Fluxcd Kustomize Controller

    APP
    Fluxcd
    0.1.0 – 0.23.0 (bez)
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
LPEContainer
CWE
Referencje

Powiązane podatności

CVE-2022-24877CRITICAL9.9PL ✓ten sam produkt

Path Traversal w Flux kustomize-controller umożliwia ujawnienie danych i privilege escalation

CVE-2022-36049HIGH7.7ten sam produkt

Flux2 is a tool for keeping Kubernetes clusters in sync with sources of configuration, and Flux's helm-control...

CVE-2022-36035HIGH7.7ten sam produkt

Flux is a tool for keeping Kubernetes clusters in sync with sources of configuration (like Git repositories), ...

CVE-2022-24878HIGH7.7ten sam produkt

Flux is an open and extensible continuous delivery solution for Kubernetes. Path Traversal in the kustomize-co...

CVE-2021-41254HIGH8.8ten sam produkt

kustomize-controller is a Kubernetes operator, specialized in running continuous delivery pipelines for infras...