Argo Workflows w wersjach przed 3.7.15 i 4.0.6 zawiera niekompletną poprawkę dla CVE-2026-31892, która pozwala uwierzytelnionemu użytkownikowi wstrzyknąć dowolny strategic merge patch do poda artifact-GC, omijając ochronę trybu Strict/Secure. Podatność umożliwia eskalację uprawnień i kompromitację środowiska Kubernetes poza kontener.
▸ Pokaż oryginał (EN)
Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. Prior to 3.7.15 and 4.0.6, the allow-list fix for CVE-2026-31892 is incomplete because workflow/util/merge.go ValidateUserOverrides and SanitizeUserWorkflowSpec walk only the top-level fields of WorkflowSpec via reflection, and WorkflowSpec.ArtifactGC is allow-listed wholesale; the struct behind that field, WorkflowLevelArtifactGC, has a PodSpecPatch sub-field whose contents flow unmodified into util.ApplyPodSpecPatch on the artifact-GC pod, the same sink the original fix closed for WorkflowSpec.PodSpecPatch, so a user submitting a Workflow under templateReferencing: Strict or Secure (against a referenced WorkflowTemplate that declares an output artifact and setting spec.artifactGC.strategy: OnWorkflowCompletion) can still inject an arbitrary strategic merge patch into the artifact-GC pod, including hostPath volumes, privileged: true, arbitrary image and command, and hostNetwork: true, defeating the stated purpose of Strict/Secure reference mode. This issue is fixed in versions 3.7.15 and 4.0.6.
Funkcje ValidateUserOverrides i SanitizeUserWorkflowSpec w pliku workflow/util/merge.go sprawdzają wyłącznie pola najwyższego poziomu struktury WorkflowSpec przez refleksję. Pole WorkflowSpec.ArtifactGC zostało umieszczone na liście dozwolonych (allow-list) całościowo, jednak zagnieżdżona struktura WorkflowLevelArtifactGC zawiera pole PodSpecPatch, którego zawartość jest przekazywana bez modyfikacji do funkcji util.ApplyPodSpecPatch. Użytkownik składający Workflow w trybie templateReferencing: Strict lub Secure, przy odwołaniu do WorkflowTemplate deklarującego artefakt wyjściowy i ustawieniu spec.artifactGC.strategy: OnWorkflowCompletion, może wstrzyknąć dowolny strategic merge patch do poda artifact-GC. Patch może zawierać m.in. wolumeny hostPath, flagę privileged: true, dowolny obraz i polecenie oraz hostNetwork: true.
Atakujący może uzyskać uprzywilejowany dostęp do węzła Kubernetes, zamontować system plików hosta, uruchomić własny kod w kontenerze z podwyższonymi uprawnieniami oraz skompromitować zasoby poza pierwotnym namespace'em, co całkowicie obala gwarancje bezpieczeństwa trybu Strict/Secure.
Należy zaktualizować Argo Workflows do wersji 3.7.15 (gałąź 3.x) lub 4.0.6 (gałąź 4.x). Poprawki dostępne są w oficjalnych wydaniach na GitHub: https://github.com/argoproj/argo-workflows/releases/tag/v3.7.15 oraz https://github.com/argoproj/argo-workflows/releases/tag/v4.0.6. Do czasu aktualizacji należy rozważyć ograniczenie możliwości składania Workflow przez nieuprzywilejowanych użytkowników lub wyłączenie funkcji artifactGC.
Argo Workflows w wersjach wcześniejszych niż 3.7.15 oraz 4.0.6, gdy używany jest tryb templateReferencing: Strict lub Secure z WorkflowTemplate zawierającym artefakt wyjściowy i ustawioną strategią artifactGC OnWorkflowCompletion.
Podatność jest bezpośrednim następstwem niekompletnej naprawy wcześniejszego CVE-2026-31892, dotyczącego tego samego mechanizmu wstrzykiwania patch przez pole WorkflowSpec.PodSpecPatch.
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:N/SC:H/SI:H/SA:H/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:XArgoproj Argo Workflows
APPArgoproj< 3.7.154.0.0 – 4.0.6 (bez)
Powiązane podatności
Argo Workflows: nieautoryzowany dostęp do szablonów workflow i wykradanie sekretów
Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernete...
Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernete...
Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernete...
Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernete...