CRITICAL🇬🇧 English

CVE-2023-40029

Argo CD: wyciek wrażliwych danych klastra przez adnotację kubectl

CVSS 9.9v3.1pub. 2023-09-07upd. 2024-11-21

Podatność w Argo CD powoduje ujawnienie pełnej zawartości sekretów klastra Kubernetes poprzez adnotację `kubectl.kubernetes.io/last-applied-configuration`. W przypadku konfiguracji opartej na tokenach uwierzytelniających (bearer-token auth) może to prowadzić do przejęcia dostępu do zarządzanych klastrów.

Pokaż oryginał (EN)

Argo CD is a declarative continuous deployment for Kubernetes. Argo CD Cluster secrets might be managed declaratively using Argo CD / kubectl apply. As a result, the full secret body is stored in`kubectl.kubernetes.io/last-applied-configuration` annotation. pull request #7139 introduced the ability to manage cluster labels and annotations. Since clusters are stored as secrets it also exposes the `kubectl.kubernetes.io/last-applied-configuration` annotation which includes full secret body. In order to view the cluster annotations via the Argo CD API, the user must have `clusters, get` RBAC access. **Note:** In many cases, cluster secrets do not contain any actually-secret information. But sometimes, as in bearer-token auth, the contents might be very sensitive. The bug has been patched in versions 2.8.3, 2.7.14, and 2.6.15. Users are advised to upgrade. Users unable to upgrade should update/deploy cluster secret with `server-side-apply` flag which does not use or rely on `kubectl.kubernetes.io/last-applied-configuration` annotation. Note: annotation for existing secrets will require manual removal.

🤖 Analiza AI
Jak działa

Gdy sekrety klastra Argo CD są zarządzane deklaratywnie przy użyciu `kubectl apply`, Kubernetes automatycznie zapisuje pełną treść zastosowanego obiektu w adnotacji `kubectl.kubernetes.io/last-applied-configuration`. Pull request #7139 dodał możliwość zarządzania etykietami i adnotacjami klastrów, co spowodowało, że wspomniana adnotacja — zawierająca pełną treść sekretu — stała się dostępna przez API Argo CD. Użytkownik posiadający uprawnienie RBAC `clusters, get` może odczytać tę adnotację i uzyskać dostęp do wrażliwych danych, takich jak tokeny uwierzytelniające.

Skutki

Atakujący z uprawnieniem `clusters, get` w Argo CD może odczytać pełną zawartość sekretów klastra, w tym potencjalnie dane uwierzytelniające (np. bearer tokeny), co może umożliwić nieuprawniony dostęp do zarządzanych klastrów Kubernetes.

Mitygacja

Należy zaktualizować Argo CD do wersji 2.8.3, 2.7.14 lub 2.6.15. Użytkownicy, którzy nie mogą wykonać aktualizacji, powinni wdrożyć lub zaktualizować sekrety klastra z flagą `--server-side-apply`, która nie korzysta z adnotacji `kubectl.kubernetes.io/last-applied-configuration`. Uwaga: istniejące adnotacje na już wdrożonych sekretach wymagają ręcznego usunięcia.

Kogo dotyczy

Argo CD w wersjach przed 2.6.15, przed 2.7.14 oraz przed 2.8.3

Uwagi

Podatność dotyczy tylko konfiguracji, w której sekrety klastra zarządzane są deklaratywnie przez `kubectl apply`. Sekrety niezawierające wrażliwych danych uwierzytelniających (np. bez bearer tokenów) są w mniejszym stopniu narażone na faktyczne ryzyko.

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:L
  • Argoproj Argo Cd

    APP
    Argoproj
    2.2.0 – 2.6.15 (bez)2.7.0 – 2.7.14 (bez)2.8.0 – 2.8.3 (bez)
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
Container
CWE
Referencje

Powiązane podatności

CVE-2026-42880CRITICAL9.6PL ✓ten sam produkt

Argo CD: ujawnienie danych Secret Kubernetes przez endpoint ServerSideDiff

CVE-2025-55190CRITICAL9.9PL ✓ten sam produkt

Argo CD: nieuprawniony dostęp do poświadczeń repozytoriów przez API token

CVE-2025-47933CRITICAL9.0PL ✓ten sam produkt

XSS w Argo CD — wykonanie akcji w imieniu ofiary via API

CVE-2024-31989CRITICAL9.0PL ✓ten sam produkt

Argo CD: nieautoryzowany dostęp do Redis umożliwia privilege escalation

CVE-2024-21652CRITICAL9.8PL ✓ten sam produkt

Argo CD: Ominięcie ochrony przed brute force logowania