🇰🇷 한글 설명
Argo CD의 인증서 검증 미흡으로 인해 악의적인 OpenID Connect(OIDC) 제공자를 신뢰하게 될 수 있는 취약점입니다. 이로 인해 공격자가 인증 과정을 가로채거나 위조된 인증을 수행할 위험이 있습니다. 해당 문제는 Argo CD 2.4.5, 2.3.6, 2.2.11 버전에서 패치되었습니다.
💡 쉬운 설명
로그인할 때 사용하는 신분증 확인 절차에 허점이 있어, 가짜 신분증을 내밀어도 시스템이 이를 진짜로 믿어버릴 수 있는 문제입니다. 이를 통해 공격자가 관리자 권한을 탈취할 위험이 있습니다.
🇺🇸 원문 (English)
Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. Argo CD starting with version 0.4.0 and prior to 2.2.11, 2.3.6, and 2.4.5 is vulnerable to an improper certificate validation bug which could cause Argo CD to trust a malicious (or otherwise untrustworthy) OpenID Connect (OIDC) provider. A patch for this vulnerability has been released in Argo CD versions 2.4.5, 2.3.6, and 2.2.11. There are no complete workarounds, but a partial workaround is available. Those who use an external OIDC provider (not the bundled Dex instance), can mitigate the issue by setting the `oidc.config.rootCA` field in the `argocd-cm` ConfigMap. This mitigation only forces certificate validation when the API server handles login flows. It does not force certificate verification when verifying tokens on API calls.
📍 영향받는 시스템
Argo CD versions 0.4.0 up to 2.2.10, 2.3.5, and 2.4.4
⚔️ 공격 벡터
신뢰할 수 없는 OIDC 제공자를 통해 위조된 인증서를 사용하여 인증 과정을 우회하거나 탈취함
🛡️ 대응 방법
Argo CD를 최신 패치 버전(2.4.5, 2.3.6, 2.2.11 이상)으로 업데이트하거나, 외부 OIDC 사용 시 argocd-cm ConfigMap의 oidc.config.rootCA 설정을 구성함
🔧 검증 코드
출력된 Argo CD의 버전을 확인하여 취약한 버전 범위에 포함되는지 대조함
argocd version --client 2>/dev/null | grep -E 'argocd version' || kubectl get deployment argocd-server -n argocd -o jsonpath='{.spec.template.spec.containers[0].image}'