CVE-2025-59537
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 47 - wyżej niż 47% wszystkich znanych CVE
Streszczenie
Argo CD w wersjach 1.2.0 do 1.8.7, 2.0.0-rc1 do 2.14.19, 3.0.0-rc1 do 3.2.0-rc1, 3.1.7 i 3.0.18 jest podatny na złośliwe żądania API, które mogą spowodować awarię serwera API i odmowę usługi dla legalnych klientów. Przy domyślnej konfiguracji, bez ustawionego webhook.gogs.secret, punkt końcowy /api/webhook w Argo CD ulega awarii całego procesu argocd-server, gdy otrzyma zdarzenie push z Gogs, w którym pole JSON commits[].repo nie jest ustawione lub jest null. Problem został naprawiony w wersjach 2.14.20, 3.2.0-rc2, 3.1.8 i 3.0.19.
Ocena ryzyka
Nieuwierzytelniony atakujący może spowodować awarię serwera Argo CD, co prowadzi do przerwy w działaniu ciągłego dostarczania i uniemożliwia legalnym klientom korzystanie z usług. Może to zakłócić procesy wdrożeniowe i operacyjne.
Rekomendacja
Należy natychmiast zaktualizować Argo CD do wersji 2.14.20, 3.2.0-rc2, 3.1.8 lub 3.0.19. Jeśli aktualizacja nie jest możliwa, należy skonfigurować webhook.gogs.secret, aby zapobiec wykorzystaniu podatności.
Inne podatności w Argo CD
Zobacz wszystkie- CVE-2026-113709Krytyczne
W Argo CD od wersji 2.1.0 do 3.3.15, 3.4.10, 3.5.4 i 3.6.0-rc2, gdy operator włączył --enable-helm dla kustomize build, pole helmGlobals.configHome może wskazywać katalogi konfiguracji i danych Helm na lokalizację kontrolowaną przez repozytorium. Helm automatycznie ładuje wtyczkę downloadera z <configHome>/.data/plugins bez osobnego kroku instalacji i wykonuje jej program w argocd-repo-server, gdy URL repozytorium helmCharts używa protokołu wtyczki. Polecenie działa jako użytkownik repo-server i może odczytać poświadczenia repozytorium oraz inne dane dostępne dla procesu. Atakujący może zatwierdzić Kustomization i wtyczkę w repozytorium Git budowanym przez Application lub przesłać pliki przez POST /api/v1/applications/manifestsWithFiles, również udostępniane przez argocd app diff --local --server-side-generate. Ścieżka przesyłania wymaga jedynie uprawnienia Application get na istniejącym Application, bez uprawnień Application update lub sync ani dostępu do zapisu repozytorium. Obie ścieżki dostarczania wymagają wcześniejszego włączenia --enable-helm przez operatora; wdrożenia, które go nie włączają, nie są dotknięte. Kustomize 4.1.0 po raz pierwszy przekazało helmGlobals.configHome do Helm. Problem naprawiono w wersjach 3.3.15, 3.4.10, 3.5.4 i 3.6.0-rc2.
- CVE-2026-113708Krytyczne
W Argo CD od wersji 2.7.0 do 3.3.15, 3.4.10, 3.5.4 i 3.6.0-rc2 Kustomize przekazuje wartości zapytań ref lub version z adresów URL zdalnych zasobów, baz lub komponentów do git fetch bez separatora końca opcji. Wartość rozpoczynająca się od myślnika może zostać zinterpretowana jako --upload-pack i wykonać polecenie w argocd-repo-server, gdy zdalne źródło używa transportu lokalnego, takiego jak file://. Git nie uruchamia dostarczonego polecenia dla zdalnego źródła https://. Transport lokalny nie opuszcza poda, więc blokowanie ruchu wychodzącego repo-server nie zapobiega wykonaniu. Polecenie działa jako użytkownik repo-server, może odczytać poświadczenia repozytorium i inne dane dostępne dla procesu oraz zwrócić dane wyjściowe przez błędy generowania manifestów. Atakujący może zatwierdzić Kustomization w repozytorium Git budowanym przez Application lub przesłać pliki przez POST /api/v1/applications/manifestsWithFiles, również udostępniane przez argocd app diff --local --server-side-generate. Ścieżka przesyłania wymaga jedynie uprawnienia Application get na istniejącym Application, bez uprawnień Application update lub sync ani dostępu do zapisu repozytorium. Kustomize 5.0.0 wprowadziło akceptację file://, podczas gdy 4.5.7 odrzuca ten transport; sama zamiana dotkniętego Kustomize na nowszą wersję nie naprawia brakującego separatora opcji. Problem naprawiono w wersjach 3.3.15, 3.4.10, 3.5.4 i 3.6.0-rc2.
- CVE-2026-113672Krytyczne
W Argo CD od wersji 0.9.0 do 3.3.15, 3.4.10, 3.5.4 i 3.6.0-rc2 repo-server przetwarza pliki .jsonnet za pomocą importera, który nie ogranicza import, importstr ani importbin do katalogu głównego repozytorium. Ścieżki bezwzględne, przechodzenie do katalogu nadrzędnego i dowiązania symboliczne w repozytorium mogą otworzyć dowolny plik czytelny dla repo-server, w tym /proc/self/environ, tokeny konta usługi, zamontowane klucze prywatne i poświadczenia repozytorium. Chociaż wygenerowane Secrets są redagowane, umieszczenie zaimportowanej zawartości w ConfigMap zwraca dane do wywołującego. Użycie importstr na urządzeniu, które nie kończy się, takim jak /dev/zero, może wyczerpać pamięć repo-server. Atakujący może zatwierdzić plik .jsonnet w repozytorium Git używanym przez Application lub przesłać plik przez POST /api/v1/applications/manifestsWithFiles, również udostępniane przez argocd app diff --local --server-side-generate. Aplikacje katalogowe oceniają każdy plik .jsonnet w katalogu aplikacji. Ścieżka przesyłania wymaga jedynie uprawnienia Application get na istniejącym Application katalogowym, bez uprawnień Application update lub sync ani dostępu do zapisu repozytorium. Problem naprawiono w wersjach 3.3.15, 3.4.10, 3.5.4 i 3.6.0-rc2.
- CVE-2026-77459Krytyczne
Argo CD od wersji 2.10.0 do 3.3.15, 3.4.10, 3.5.4 i 3.6.0-rc2 tworzy hooki zasobów PostDelete bez stosowania kontroli autoryzacji AppProject dla miejsca docelowego i zasobów używanych podczas zwykłej synchronizacji. Użytkownik mogący zapisywać w repozytorium Git aplikacji może zatwierdzić hook usuwający skierowany do zabronionej przestrzeni nazw, serwera, grupy, rodzaju lub nazwy zasobu, a usunięcie aplikacji powoduje utworzenie tego zasobu z poświadczeniami klastra docelowego. Problem naprawiono w wersjach 3.3.15, 3.4.10, 3.5.4 i 3.6.0-rc2.
- CVE-2026-42880Krytyczne
W Argo CD w wersjach od 3.2.0 do 3.2.10 oraz od 3.3.0 do 3.3.8 brakuje autoryzacji i maskowania danych w punkcie końcowym ServerSideDiff. Umożliwia to atakującemu z dostępem tylko do odczytu wyodrębnienie danych Secret w postaci jawnego tekstu z etcd za pomocą mechanizmu Server-Side Apply dry-run serwera API Kubernetes.
- CVE-2025-59538Wysokie
Argo CD w wersjach 2.9.0-rc1 do 2.14.19, 3.0.0-rc1 do 3.2.0-rc1, 3.1.6 i 3.0.17 ma podatność polegającą na tym, że gdy webhook.azuredevops.username i webhook.azuredevops.password nie są ustawione w domyślnej konfiguracji, endpoint /api/webhook powoduje awarię całego procesu argocd-server po otrzymaniu zdarzenia Azure DevOps Push, którego tablica JSON resource.refUpdates jest pusta. Dostęp do indeksu [0] bez sprawdzenia długości powoduje panikę index-out-of-range. Pojedynczy nieuwierzytelniony żądanie HTTP POST wystarczy, aby zabić proces. Problem rozwiązano w wersjach 2.14.20, 3.2.0-rc2, 3.1.8 i 3.0.19.
- CVE-2025-55190Krytyczne
Argo CD w wersjach 2.13.0-2.13.8, 2.14.0-2.14.15, 3.0.0-3.0.12 i 3.1.0-rc1-3.1.1 pozwala tokenom API z uprawnieniami na poziomie projektu na pobranie poufnych danych uwierzytelniających repozytorium (nazwy użytkownika, hasła) poprzez punkt końcowy API szczegółów projektu. Podatność dotyczy również tokenów z globalnymi uprawnieniami do odczytu projektów. Naprawiono w wersjach 2.13.9, 2.14.16, 3.0.14 i 3.1.2.
- CVE-2026-55797Wysokie
Argo CD repo-server jest podatny na wstrzyknięcie poleceń podczas klonowania, testowania lub pobierania repozytorium Git SSH skonfigurowanego z adresem URL proxy. Host i port proxy są osadzane w SSH ProxyCommand wykonywanym przez powłokę bez neutralizacji znaków specjalnych. Użytkownik mogący tworzyć lub aktualizować repozytorium albo szablon poświadczeń repozytorium może wykonać polecenia w repo-server i uzyskać dostęp do jego poświadczeń Git, Helm i OCI.
- CVE-2025-61560Wysokie
W SessionManager w Argo CD w wersji 3.0.6 występuje podatność typu race condition. Pozwala ona atakującemu ominąć ograniczanie liczby prób i przeprowadzić atak brute force poprzez powtarzane, spreparowane żądania.
- CVE-2026-45738Wysokie
Podatność w Argo CD pozwala użytkownikom z dostępem do zapisu aplikacji na ustawienie adnotacji link.argocd.argoproj.io/* z wartościami rozdzielonymi pionową kreską, które są renderowane jako atrybuty href w sekcji URL w zakładce Podsumowanie bez walidacji, umożliwiając wykonanie kodu JavaScript w sesji uwierzytelnionego użytkownika o wyższych uprawnieniach. Problem został naprawiony w wersjach 3.2.12, 3.3.10 i 3.4.2.
Oryginalny opis (angielski, źródło NVD)
Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. Versions 1.2.0 through 1.8.7, 2.0.0-rc1 through 2.14.19, 3.0.0-rc1 through 3.2.0-rc1, 3.1.7 and 3.0.18 are vulnerable to malicious API requests which can crash the API server and cause denial of service to legitimate clients. With the default configuration, no webhook.gogs.secret set, Argo CD’s /api/webhook endpoint will crash the entire argocd-server process when it receives a Gogs push event whose JSON field commits[].repo is not set or is null. This issue is fixed in versions 2.14.20, 3.2.0-rc2, 3.1.8 and 3.0.19.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

