Severity by source
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:X
Authenticated workflow submitter (PR:L) over the API (AV:N); AC:H because a specific referenced-template + artifact-GC configuration is required; privileged pod escapes to the node (S:C) with full C/I/A impact.
Primary rating from Vendor (github).
CVSS VectorVendor: github
Lifecycle Timeline
4DescriptionCVE.org
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.
Articles & Coverage 1
AnalysisAI
Privilege escalation in Argo Workflows before 3.7.15 and 4.0.6 lets a low-privileged user who can submit Workflows bypass the Strict/Secure templateReferencing protections and inject an arbitrary strategic-merge PodSpecPatch into the artifact garbage-collection pod. Because the fix for CVE-2026-31892 only walked top-level WorkflowSpec fields and allow-listed WorkflowSpec.ArtifactGC wholesale, its nested WorkflowLevelArtifactGC.PodSpecPatch flowed unmodified into util.ApplyPodSpecPatch, allowing an attacker to spawn a pod with privileged: true, hostPath volumes, hostNetwork: true, and an attacker-chosen image and command. This is an incomplete-fix regression; there is no public exploit identified at time of analysis and it is not in CISA KEV.
Technical ContextAI
Argo Workflows is a CNCF-graduated, container-native workflow engine that runs parallel job DAGs as pods on Kubernetes. The vulnerability lives in workflow/util/merge.go, where ValidateUserOverrides and SanitizeUserWorkflowSpec enforce the Strict/Secure reference model that is supposed to prevent a user-submitted Workflow from overriding security-sensitive fields of a referenced WorkflowTemplate. These functions use reflection that only inspects the top-level fields of WorkflowSpec, and WorkflowSpec.ArtifactGC (type WorkflowLevelArtifactGC) was allow-listed as a whole so its benign Strategy/ForceFinalizerRemoval fields could be set. However that struct also carries PodSpecPatch, ServiceAccountName, and PodMetadata sub-fields that reach the artifact-GC pod through util.ApplyPodSpecPatch - the exact sink the original CVE-2026-31892 fix closed for the top-level WorkflowSpec.PodSpecPatch. The root cause maps to CWE-284 (Improper Access Control): an allow-list that fails to recurse into nested structures, so a strategic merge patch can override the pod's container image, command, and securityContext. The fix commit adds artifactGCOverrideViolations (validation-time rejection) and sanitizeArtifactGC (defense-in-depth stripping) for those three nested fields.
RemediationAI
Vendor-released patch: upgrade to Argo Workflows 3.7.15 (3.x users) or 4.0.6 (4.x users), per GHSA-48p8-g2fx-3wwm and fix commits 277e9cef0ad16d7eaaab253573d0695951a65dbd and 358cc3968c8f06f1be0967e41df191088db0b662; these add validation-time rejection and sanitization of ArtifactGC.PodSpecPatch, ArtifactGC.ServiceAccountName, and ArtifactGC.PodMetadata. If you cannot upgrade immediately, the concrete compensating controls are: stop relying on Strict/Secure reference mode as a trust boundary for untrusted submitters and restrict who can create/submit Workflows (tighten Argo RBAC and the workflow-controller's submit permissions), which trades away self-service workflow submission; disable workflow-level artifact garbage collection (do not set spec.artifactGC.strategy, or remove output artifacts from referenced templates) so the vulnerable artifact-GC pod is never created, at the cost of losing automatic artifact cleanup; and constrain the blast radius with a restrictive PodSecurity admission policy / OPA-Gatekeeper or Kyverno rule that denies privileged: true, hostPath, and hostNetwork pods in the Argo namespace, which limits escalation but may block other legitimately privileged workloads. Advisory: https://github.com/argoproj/argo-workflows/security/advisories/GHSA-48p8-g2fx-3wwm.
More in Kubernetes
View allA critical vulnerability in Kubernetes ingress-nginx controller allows unauthenticated attackers with pod network access
Credential-harvesting malware compromised 84 versions of 42 TanStack npm packages on 2026-05-11 via chained GitHub Actio
Kubernetes ingress-nginx contains a configuration injection vulnerability via the mirror-target and mirror-host Ingress
A security issue was discovered in ingress-nginx https://github.com/kubernetes/ingress-nginx where the `auth-url` Ingres
A security issue was discovered in ingress-nginx https://github.com/kubernetes/ingress-nginx where the `auth-tls-match-c
Kubernetes API server in all versions allow an attacker who is able to create a ClusterIP service and set the spec.exter
A security issue was discovered in Kubernetes where a user that can create pods on Windows nodes may be able to escalate
Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. Rated critical severity (CVSS 9.9), this vulne
Unauthenticated remote attackers can trigger complete database overwrites, server-side file reads, and SSRF attacks agai
The Kubernetes integration in GitLab Enterprise Edition 11.x before 11.2.8, 11.3.x before 11.3.9, and 11.4.x before 11.4
Fluentd configuration injection in the kube-logging Logging operator before 6.6.0 allows a namespace-scoped user who can
Kyverno Kubernetes policy engine prior to 1.x has a privilege escalation vulnerability (CVSS 9.9) allowing policy bypass
Same weakness CWE-284 – Improper Access Control
View allSame technique Authentication Bypass
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-45029
GHSA-48p8-g2fx-3wwm