🇰🇷 한글 설명
Argo CD의 부적절한 권한 부여 취약점으로 인해, Argo CD를 위해 발행되지 않은 유효한 OIDC 토큰이 수락될 수 있습니다. 공격자는 다른 서비스용으로 발행된 토큰의 audience claim 검증 부재를 악용하여 Argo CD에 접근하고 권한을 획득할 수 있습니다.
💡 쉬운 설명
다른 서비스에서 사용하려고 만든 출입증을 Argo CD에 가져가도, Argo CD가 그 출입증이 자기 것인지 확인하지 않고 통과시켜 주는 문제입니다. 이로 인해 다른 곳에서 훔친 출입증으로 Argo CD의 관리 권한을 가질 수 있습니다.
🇺🇸 원문 (English)
Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. Versions of Argo CD starting with v1.8.2 and prior to 2.3.13, 2.4.19, 2.5.6, and 2.6.0-rc-3 are vulnerable to an improper authorization bug causing the API to accept certain invalid tokens. OIDC providers include an `aud` (audience) claim in signed tokens. The value of that claim specifies the intended audience(s) of the token (i.e. the service or services which are meant to accept the token). Argo CD _does_ validate that the token was signed by Argo CD's configured OIDC provider. But Argo CD _does not_ validate the audience claim, so it will accept tokens that are not intended for Argo CD. If Argo CD's configured OIDC provider also serves other audiences (for example, a file storage service), then Argo CD will accept a token intended for one of those other audiences. Argo CD will grant the user privileges based on the token's `groups` claim, even though those groups were not intended to be used by Argo CD. This bug also increases the impact of a stolen token. If an attacker steals a valid token for a different audience, they can use it to access Argo CD. A patch for this vulnerability has been released in versions 2.6.0-rc3, 2.5.6, 2.4.19, and 2.3.13. There are no workarounds.
📍 영향받는 시스템
Argo CD v1.8.2 이상 ~ v2.3.13 미만, v2.4.19 미만, v2.5.6 미만, v2.6.0-rc-3 미만 버전
⚔️ 공격 벡터
동일한 OIDC 제공자를 사용하는 다른 서비스의 유효한 토큰을 사용하여 Argo CD API에 인증 시도
🛡️ 대응 방법
Argo CD를 패치된 버전(2.6.0-rc3, 2.5.6, 2.4.19, 2.3.13 이상)으로 즉시 업데이트
🔧 검증 코드
출력된 argocd-version이 취약점이 해결된 패치 버전 이상인지 확인
argocd version --client | grep -E 'argocd-version'