🇰🇷 한글 설명
Argo CD의 repo-server에서 SSH Git 저장소를 클론하거나 가져올 때 명령 주입(Command Injection) 취약점이 발생합니다. 프록시 URL 설정 시 쉘 메타문자를 중화하지 않아, 공격자가 조작된 프록시 호스트를 통해 repo-server에서 임의의 명령을 실행하고 자격 증명을 탈취할 수 있습니다.
💡 쉬운 설명
Argo CD 설정 중 프록시 주소 부분에 악성 명령어를 숨겨 넣으면, 서버가 이를 실행하게 되어 해커가 서버의 권한을 얻을 수 있는 문제입니다. 이를 통해 해커는 중요한 비밀번호나 설정 파일에 접근할 수 있습니다.
🇺🇸 원문 (English)
Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. From 2.11.0 until 3.3.15, 3.4.10, 3.5.4, and 3.6.0-rc2, the Argo CD repo-server is vulnerable to command injection when it clones, tests, or fetches an SSH Git repository configured with a proxy URL. The proxy host and port are embedded in an SSH ProxyCommand that is executed through a shell without neutralizing shell metacharacters. A user who can create or update a repository or repository credential template can supply a crafted proxy host to execute commands in the repo-server and access its Git, Helm, and OCI credentials. This issue is fixed in versions 3.3.15, 3.4.10, 3.5.4, and 3.6.0-rc2.
📍 영향받는 시스템
Argo CD 2.11.0 ~ 3.3.15 미만, 3.4.10 미만, 3.5.4 미만, 3.6.0-rc2 미만 버전
⚔️ 공격 벡터
저장소 또는 자격 증명 템플릿을 생성/수정할 수 있는 권한을 가진 사용자가 조작된 프록시 호스트 값을 입력하여 공격
🛡️ 대응 방법
Argo CD를 수정된 버전(3.3.15, 3.4.10, 3.5.4, 3.6.0-rc2 이상)으로 즉시 업데이트
🔧 검증 코드
출력된 버전 정보가 취약한 버전 범위에 포함되는지 확인
argocd version --client | grep -E 'argocd version'