🔍 CVE-2022-29165

10.0
CVSS Score
CRITICAL
2022-05-20
2026-06-17 04:39
✅ 완료

🇰🇷 한글 설명

Argo CD의 특정 버전에서 인증되지 않은 사용자가 조작된 JWT를 사용하여 admin을 포함한 모든 사용자나 역할로 사칭할 수 있는 심각한 취약점이 발견되었습니다. 익명 액세스가 활성화된 경우 공격자는 클러스터 관리자 권한을 획득하여 리소스를 조작하거나 데이터를 탈취할 수 있습니다.

💡 쉬운 설명

로그인하지 않은 외부인이 가짜 신분증을 만들어 관리자처럼 행동할 수 있는 보안 구멍입니다. 이 구멍을 통해 해커가 시스템의 모든 권한을 마음대로 휘두를 수 있습니다.

🇺🇸 원문 (English)

Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. A critical vulnerability has been discovered in Argo CD starting with version 1.4.0 and prior to versions 2.1.15, 2.2.9, and 2.3.4 which would allow unauthenticated users to impersonate as any Argo CD user or role, including the `admin` user, by sending a specifically crafted JSON Web Token (JWT) along with the request. In order for this vulnerability to be exploited, anonymous access to the Argo CD instance must have been enabled. In a default Argo CD installation, anonymous access is disabled. The vulnerability can be exploited to impersonate as any user or role, including the built-in `admin` account regardless of whether it is enabled or disabled. Also, the attacker does not need an account on the Argo CD instance in order to exploit this. If anonymous access to the instance is enabled, an attacker can escalate their privileges, effectively allowing them to gain the same privileges on the cluster as the Argo CD instance, which is cluster admin in a default installation. This will allow the attacker to create, manipulate and delete any resource on the cluster. They may also exfiltrate data by deploying malicious workloads with elevated privileges, thus bypassing any redaction of sensitive data otherwise enforced by the Argo CD API. A patch for this vulnerability has been released in Argo CD versions 2.3.4, 2.2.9, and 2.1.15. As a workaround, one may disable anonymous access, but upgrading to a patched version is preferable.

📍 영향받는 시스템

Argo CD 1.4.0 이상 버전 중 2.1.15, 2.2.9, 2.3.4 미만 버전

⚔️ 공격 벡터

조작된 JSON Web Token(JWT)을 요청에 포함하여 전송

🛡️ 대응 방법

Argo CD를 패치된 버전(2.3.4, 2.2.9, 2.1.15 이상)으로 업그레이드하거나 익명 액세스 기능을 비활성화

🔧 검증 코드

출력된 버전 번호가 패치된 버전(2.3.4, 2.2.9, 2.1.15)보다 낮은지 확인

Shell / Script
argocd version --client | grep -E 'argocd version' | awk '{print $3}'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H

💻 영향받는 소프트웨어

Kubernetes