Podatność w Argo CD pozwala nieuprzywilejowanemu podowi z innej przestrzeni nazw (namespace) w tym samym klastrze Kubernetes na połączenie się z serwerem Redis na porcie 6379. Może to prowadzić do privilege escalation do poziomu kontrolera klastra lub do wycieku poufnych informacji.
▸ Pokaż oryginał (EN)
Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. It has been discovered that an unprivileged pod in a different namespace on the same cluster could connect to the Redis server on port 6379. Despite having installed the latest version of the VPC CNI plugin on the EKS cluster, it requires manual enablement through configuration to enforce network policies. This raises concerns that many clients might unknowingly have open access to their Redis servers. This vulnerability could lead to Privilege Escalation to the level of cluster controller, or to information leakage, affecting anyone who does not have strict access controls on their Redis instance. This issue has been patched in version(s) 2.8.19, 2.9.15 and 2.10.10.
Problem wynika z braku domyślnego egzekwowania polityk sieciowych (network policies) w środowiskach takich jak EKS z wtyczką VPC CNI — mimo zainstalowania najnowszej wersji wtyczki, wymaga ona ręcznego włączenia odpowiedniej konfiguracji. W efekcie Redis nasłuchujący na porcie 6379 jest dostępny dla dowolnego poda w klastrze, również spoza właściwego namespace. Atakujący kontrolujący nieuprzywilejowanego poda może nawiązać połączenie z Redis i manipulować jego zawartością lub odczytywać dane składowane przez Argo CD. Prowadzi to do możliwości przejęcia uprawnień na poziomie kontrolera klastra poprzez modyfikację danych przechowywanych w Redis.
Atakujący może uzyskać uprawnienia kontrolera klastra Kubernetes (privilege escalation) lub uzyskać dostęp do poufnych danych przechowywanych w Redis przez Argo CD. Podatność zagraża poufności, integralności i dostępności całego środowiska zarządzanego przez Argo CD.
Należy zaktualizować Argo CD do wersji 2.8.19, 2.9.15 lub 2.10.10 zgodnie z gałęzią aktualnie używaną w środowisku. Dodatkowo zaleca się ręczne włączenie i skonfigurowanie polityk sieciowych (network policies) w klastrze Kubernetes tak, aby ograniczyć dostęp do portu 6379 Redis wyłącznie do autoryzowanych podów.
Argo CD w wersjach poprzedzających 2.8.19, 2.9.15 oraz 2.10.10 — dotyczy środowisk, w których Redis nie jest chroniony ścisłymi mechanizmami kontroli dostępu sieciowego (brak skonfigurowanych network policies).
Podatność jest szczególnie istotna w środowiskach EKS (Amazon Elastic Kubernetes Service) korzystających z wtyczki VPC CNI, gdzie polityki sieciowe nie są domyślnie aktywowane pomimo zainstalowania wtyczki — wymagają jawnej konfiguracji. Wektor ataku: sieć sąsiadująca (AV:A), co oznacza, że atakujący musi mieć dostęp do poda w tym samym klastrze.
CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:HArgoproj Argo Cd
APPArgoproj< 2.8.192.9.0 – 2.9.15 (bez)2.10.0 – 2.10.10 (bez)2.11.0 – 2.11.1 (bez)
Powiązane podatności
Argo CD: ujawnienie danych Secret Kubernetes przez endpoint ServerSideDiff
Argo CD: nieuprawniony dostęp do poświadczeń repozytoriów przez API token
XSS w Argo CD — wykonanie akcji w imieniu ofiary via API
Argo CD: Ominięcie ochrony przed brute force logowania
Argo CD: XSS w adnotacjach linków umożliwia przejęcie uprawnień