🇰🇷 한글 설명
Argo CD의 특정 버전에서 애플리케이션 쓰기 권한이 있는 사용자가 주석(annotation)에 악성 스크립트를 삽입할 수 있는 취약점이 발견되었습니다. 이 취약점을 이용하면 URL 검증 없이 자바스크립트가 실행되어, 높은 권한을 가진 사용자의 인증된 세션에서 악성 코드가 동작할 수 있습니다.
💡 쉬운 설명
권한이 있는 사용자가 링크 주소에 몰래 악성 코드를 숨겨둘 수 있는 문제입니다. 관리자가 해당 링크를 클릭하면 관리자의 권한을 탈취당할 위험이 있습니다.
🇺🇸 원문 (English)
Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. Prior to 3.2.12, 3.3.10, and 3.4.2, Argo CD users with application write access can set link.argocd.argoproj.io/* annotations whose pipe-separated values are rendered by ui/src/app/applications/components/application-summary/application-summary.tsx in the Summary tab URLs section as anchor href values without URL validation, allowing javascript: execution in a higher-privileged user's authenticated Argo CD origin session. This issue is fixed in versions 3.2.12, 3.3.10, and 3.4.2.
📍 영향받는 시스템
Argo CD versions prior to 3.2.12, 3.3.10, and 3.4.2
⚔️ 공격 벡터
애플리케이션 주석에 'javascript:' 프로토콜을 포함한 악성 URL을 삽입하여 관리자의 클릭을 유도하는 방식
🛡️ 대응 방법
Argo CD를 최신 보안 패치 버전(3.2.12, 3.3.10 또는 3.4.2 이상)으로 업데이트하십시오.
🔧 검증 코드
출력된 Argo CD 버전이 취약 버전(3.2.12, 3.3.10, 3.4.2 미만)인지 확인하십시오.
argocd version --client 2>/dev/null || kubectl exec -it $(kubectl get pods -l app.kubernetes.io/name=argocd-server -o name | head -n 1) -- argocd version --client