🔍 CVE-2026-113708

9.9
CVSS Score
CRITICAL
2026-10-20
2026-10-20 19:59
✅ 완료

🇰🇷 한글 설명

Argo CD의 Kustomize 처리 과정에서 옵션 구분자 누락으로 인해 발생하는 취약점입니다. 공격자가 악의적인 Kustomization 파일을 통해 repo-server 내에서 임의의 명령어를 실행할 수 있으며, 이는 저장소 자격 증명 탈취로 이어질 수 있습니다.

💡 쉬운 설명

Argo CD가 설정 파일을 읽을 때 특정 명령어를 몰래 끼워 넣을 수 있는 보안 구멍이 발견되었습니다. 이를 통해 해커가 서버에 침투하여 중요한 정보를 훔쳐갈 수 있습니다.

🇺🇸 원문 (English)

Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. From 2.7.0 until 3.3.15, 3.4.10, 3.5.4, and 3.6.0-rc2, Kustomize passes ref or version query values from remote resource, base, or component URLs to git fetch without an end-of-options separator. A leading-hyphen value can be parsed as --upload-pack and execute a command inside argocd-repo-server when the remote uses a local transport such as file://. Git does not run the supplied command for an https:// remote. The local transport does not leave the pod, so blocking repo-server egress does not prevent the execution. The command runs as the repo-server user, can read repository credentials and other process-accessible data, and can return output through manifest-generation errors. An attacker can commit a Kustomization to a Git repository that an Application builds or upload files through POST /api/v1/applications/manifestsWithFiles, also exposed by argocd app diff --local --server-side-generate. The upload path requires only Application get permission on an existing Application, without Application update or sync permission or repository write access. Kustomize 5.0.0 introduced acceptance of file://, whereas 4.5.7 rejects that transport; replacing the affected Kustomize with a newer version alone does not correct the missing option separator. This issue is fixed in versions 3.3.15, 3.4.10, 3.5.4, and 3.6.0-rc2.

📍 영향받는 시스템

Argo CD 2.7.0 ~ 3.3.15, 3.4.10, 3.5.4, 3.6.0-rc2

⚔️ 공격 벡터

악의적인 Kustomization 커밋 또는 API를 통한 파일 업로드로 --upload-pack 옵션 주입

🛡️ 대응 방법

Argo CD를 수정된 버전(3.3.15, 3.4.10, 3.5.4, 3.6.0-rc2 이상)으로 즉시 업데이트

🔧 검증 코드

명령어 결과에 취약점이 해결된 버전 번호가 포함되어 있는지 확인합니다.

Shell / Script
argocd version --client | grep -E 'v(3.3.15|3.4.10|3.5.4|3.6.0-rc2)'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Kubernetes