🇰🇷 한글 설명
Argo Workflows에서 Workflow를 제출할 수 있는 사용자가 podSpecPatch 필드를 사용하여 WorkflowTemplate에 정의된 모든 보안 설정을 완전히 우회할 수 있는 취약점입니다. 이 취약점은 templateReferencing: Strict 설정이 활성화된 상태에서도 발생하며, podSpecPatch가 템플릿의 설정보다 우선하여 적용됩니다.
💡 쉬운 설명
정해진 규칙(템플릿)대로만 일하도록 설정해 두었음에도 불구하고, 사용자가 몰래 자신만의 규칙을 끼워 넣어 보안 검사를 피해갈 수 있는 문제입니다. 이를 통해 사용자는 원래 허용되지 않은 권한을 얻거나 시스템 설정을 마음대로 바꿀 수 있습니다.
🇺🇸 원문 (English)
Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. From 2.9.0 to before 4.0.2 and 3.7.11, A user who can submit Workflows can completely bypass all security settings defined in a WorkflowTemplate by including a podSpecPatch field in their Workflow submission. This works even when the controller is configured with templateReferencing: Strict, which is specifically documented as a mechanism to restrict users to admin-approved templates. The podSpecPatch field on a submitted Workflow takes precedence over the referenced WorkflowTemplate during spec merging and is applied directly to the pod spec at creation time with no security validation. This vulnerability is fixed in 4.0.2 and 3.7.11.
📍 영향받는 시스템
Argo Workflows 2.9.0 ~ 4.0.1 및 3.7.0 ~ 3.7.10
⚔️ 공격 벡터
Workflow 제출 시 podSpecPatch 필드에 악의적인 pod 설정을 포함하여 전송
🛡️ 대응 방법
Argo Workflows를 4.0.2 또는 3.7.11 이상의 버전으로 업데이트
🔧 검증 코드
설치된 Argo Workflows의 버전을 확인하여 취약한 버전 범위에 해당하는지 체크합니다.
kubectl get pods -n argo -o jsonpath='{.items[*].metadata.labels}' | grep -i 'argo-workflows' && helm list -A | grep argo-workflows