Severity by source
AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:N/A:H
Network-reachable but requires workflow-submit RBAC (PR:L); a single crafted pod crashes the shared controller (S:C) with availability-only impact (A:H, C:N/I:N).
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
6DescriptionCVE.org
Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. From 3.6.5 to 4.0.4, an unchecked array index in the pod informer's podGCFromPod() function causes a controller-wide panic when a workflow pod carries a malformed workflows.argoproj.io/pod-gc-strategy annotation. Because the panic occurs inside an informer goroutine (outside the controller's recover() scope), it crashes the entire controller process. The poisoned pod persists across restarts, causing a crash loop that halts all workflow processing until the pod is manually deleted. This vulnerability is fixed in 4.0.5 and 3.7.14.
AnalysisAI
Denial of service in the Argo Workflows controller (versions 3.6.5 through 4.0.4, plus the 3.7.0-rc1 through 3.7.12 pre-releases) lets any user able to submit a workflow crash-loop the entire controller by attaching a malformed workflows.argoproj.io/pod-gc-strategy pod annotation that contains no '/' separator, triggering an out-of-range index panic in an informer goroutine that sits outside the controller's recover() scope. Because the poisoned pod persists across restarts, the controller enters CrashLoopBackOff and halts all workflow processing cluster-wide until the pod is manually deleted. A working proof-of-concept manifest is published in the GHSA advisory (SSVC exploitation status: poc), but there is no evidence of active exploitation and EPSS is very low at 0.04%.
Technical ContextAI
Argo Workflows is a CNCF container-native workflow engine that orchestrates parallel jobs on Kubernetes via a central controller that watches pods through a client-go informer. The root cause is CWE-129 (Improper Validation of Array Index): the podGCFromPod() function in workflow/controller/pod/controller.go splits the pod-gc-strategy annotation value on '/' and unconditionally reads parts[1], so any value lacking a slash produces a length-1 slice and panics with 'index out of range [1] with length 1'. The panic fires inside the pod informer's commonPodEvent handler, which runs in a separate informer goroutine that is not wrapped by the controller's top-level recover(), so instead of being contained the failure terminates the whole controller process. The regression was introduced by upstream change #14129 and back-ported into the 3.6.x line via #14263. The affected component is cpe:2.3:a:argoproj:argo-workflows.
RemediationAI
Vendor-released patch: upgrade to Argo Workflows 4.0.5 or 3.7.14, which add bounds checking before accessing the split annotation. Note that the 3.6.x line has no fixed release identified in the source data (fixed-in: None for the >= 3.6.5, <= 3.6.19 range), so 3.6.x operators should plan a migration to 3.7.14 or later rather than expecting a 3.6.x hotfix - review CRD and behavior changes for that minor-version jump against the GHSA advisory (https://github.com/argoproj/argo-workflows/security/advisories/GHSA-5jv8-h7qh-rf5p). Until patched, reduce exposure by tightening Kubernetes RBAC so untrusted tenants cannot create Workflows or set podMetadata annotations, and consider an admission-control policy (Kyverno or OPA Gatekeeper) that rejects or sanitizes any pod whose workflows.argoproj.io/pod-gc-strategy annotation value does not contain a '/'; the trade-off is added webhook maintenance and the risk of blocking legitimate custom GC-strategy values. If the controller is already crash-looping, the immediate recovery is to manually delete the poisoned pod (kubectl delete pod) so it stops re-triggering the panic on every restart.
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-129 – Improper Validation of Array Index
View allSame technique Denial Of Service
View allVendor StatusVendor
SUSE
Severity: Important| Product | Status |
|---|---|
| SUSE Linux Enterprise Server 16.1 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP5 | Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP6 | Affected |
| openSUSE Leap 15.5 | Affected |
| openSUSE Leap 15.6 | Affected |
Share
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-25267
GHSA-5jv8-h7qh-rf5p