CRITICAL🇬🇧 English

CVE-2024-28175

Argo CD: XSS w adnotacjach linków umożliwia przejęcie uprawnień

CVSS 9.0v3.1pub. 2024-03-13upd. 2025-01-09

Podatność typu XSS w Argo CD pozwala atakującemu na wstrzyknięcie złośliwego linku z protokołem javascript: w interfejsie użytkownika. Gdy ofiara kliknie taki link, skrypt wykonuje się z jej uprawnieniami, potencjalnie do poziomu administratora.

Pokaż oryginał (EN)

Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. Due to the improper URL protocols filtering of links specified in the `link.argocd.argoproj.io` annotations in the application summary component, an attacker can achieve cross-site scripting with elevated permissions. All unpatched versions of Argo CD starting with v1.0.0 are vulnerable to a cross-site scripting (XSS) bug allowing a malicious user to inject a javascript: link in the UI. When clicked by a victim user, the script will execute with the victim's permissions (up to and including admin). This vulnerability allows an attacker to perform arbitrary actions on behalf of the victim via the API, such as creating, modifying, and deleting Kubernetes resources. A patch for this vulnerability has been released in Argo CD versions v2.10.3 v2.9.8, and v2.8.12. There are no completely-safe workarounds besides upgrading. The safest alternative, if upgrading is not possible, would be to create a Kubernetes admission controller to reject any resources with an annotation starting with link.argocd.argoproj.io or reject the resource if the value use an improper URL protocol. This validation will need to be applied in all clusters managed by ArgoCD.

🤖 Analiza AI
Jak działa

Argo CD nieprawidłowo filtruje protokoły URL w linkach określonych w adnotacjach `link.argocd.argoproj.io` wyświetlanych w komponencie podsumowania aplikacji. Atakujący może umieścić w tej adnotacji wartość zawierającą schemat `javascript:`, który nie jest blokowany przez walidację. Gdy zalogowany użytkownik kliknie spreparowany link w interfejsie, przeglądarka wykonuje osadzony kod JavaScript w kontekście sesji ofiary. Kod ten może korzystać z pełnych uprawnień ofiary, w tym uprawnień administracyjnych, do komunikacji z API Argo CD.

Skutki

Atakujący może wykonywać dowolne operacje na zasobach Kubernetes w imieniu ofiary poprzez API Argo CD, w tym tworzyć, modyfikować i usuwać zasoby we wszystkich klastrach zarządzanych przez Argo CD.

Mitygacja

Należy zaktualizować Argo CD do wersji v2.10.3, v2.9.8 lub v2.8.12. Jeśli aktualizacja jest niemożliwa, jako rozwiązanie tymczasowe należy wdrożyć Kubernetes admission controller odrzucający zasoby z adnotacjami rozpoczynającymi się od `link.argocd.argoproj.io` lub zawierającymi nieprawidłowe protokoły URL — walidacja musi zostać zastosowana we wszystkich klastrach zarządzanych przez Argo CD.

Kogo dotyczy

Wszystkie niezałatane wersje Argo CD począwszy od v1.0.0

Uwagi

Podatność wymaga interakcji użytkownika (kliknięcia złośliwego linku) oraz tego, aby atakujący miał możliwość ustawienia adnotacji w aplikacji Argo CD. Mimo braku całkowicie bezpiecznego obejścia poza aktualizacją, wektor ataku jest ograniczony wymogiem interakcji ofiary.

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

    APP
    Argoproj
    1.0.0 – 2.8.12 (bez)2.9.0 – 2.9.8 (bez)2.10.0 – 2.10.3 (bez)
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
XSSContainer
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