🇰🇷 한글 설명
Argo Workflows의 templateReferencing: Strict 보안 기능을 Workflow 생성 권한을 가진 사용자가 우회하여 호스트 네트워크 접근, 서비스 계정 전환, Pod 보안 컨텍스트 오버라이드 등을 수행할 수 있는 권한 상승 취약점입니다. 3.7.14 및 4.0.5 버전에서 패치되었습니다.
💡 쉬운 설명
Kubernetes의 Argo 워크플로우 도구에서 일반 사용자가 보안 제한을 우회하여 관리자 수준의 권한을 얻을 수 있는 문제입니다. 이를 통해 서버의 네트워크 설정 변경이나 다른 계정으로 작업 실행이 가능합니다.
🇺🇸 원문 (English)
Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. Prior to versions 3.7.14 and 4.0.5, a user with create Workflow permission can bypass templateReferencing: Strict to get host network access, switch service accounts, override pod security context, add tolerations to schedule on control-plane nodes, or enable SA token mounting. This defeats the stated purpose of the feature. The practical impact depends on what Kubernetes-level controls are in place. Clusters with PodSecurity admission or OPA/Gatekeeper would independently block some of these (like hostNetwork). Clusters that rely on Argo's Strict mode as the primary enforcement layer are fully exposed. This issue has been patched in versions 3.7.14 and 4.0.5.
📍 영향받는 시스템
Argo Workflows 3.7.14 미만, 4.0.5 미만 (Kubernetes 환경)
⚔️ 공격 벡터
Workflow 생성 권한 보유자가 templateReferencing 검증을 우회하는 특수한 Workflow 정의를 작성하여 권한 상승
🛡️ 대응 방법
Argo Workflows를 3.7.14 또는 4.0.5 이상 버전으로 업그레이드
🔧 검증 코드
출력된 이미지 태그에서 버전 번호를 추출하여 3.7.14 이상 또는 4.0.5 이상인지 확인
kubectl get deployment -n argo-workflows argo-server -o=jsonpath='{.spec.template.spec.containers[0].image}' 2>/dev/null