Argo Workflows controller DoS via malformed pod-gc-strategy annotation
CVE-2026-40886 is a denial-of-service vulnerability in Argo Workflows affecting versions 3.6.5 through 3.6.19, 3.7.0 through 3.7.13, and 4.0.0 through 4.0.4. The flaw is caused by unchecked array index access in the controller’s pod informer path, specifically in podGCFromPod(), when parsing the workflows.argoproj.io/pod-gc-strategy annotation on workflow pods. The implementation splits the annotation value on the "/" character and unconditionally accesses the second element; if the annotation is malformed and lacks the delimiter, this results in a Go runtime panic due to an index-out-of-range condition. Because the panic occurs inside a Kubernetes informer goroutine outside the controller’s recover() scope, the panic is not contained and crashes the entire Argo Workflows controller process. The malformed pod remains persisted in the Kubernetes API, so when the controller restarts it reprocesses the same poisoned pod and crashes again, creating a persistent crash loop until the offending pod or workflow is manually removed.
What it means and what to do now: patch path, interim mitigations, and the assume-compromise checklist.
What an attacker gets, and what they’ve been doing with it.
Successful exploitation causes controller-wide denial of service. Any user with permission to create Workflow resources can submit a workflow that results in a malformed workflows.argoproj.io/pod-gc-strategy annotation on a workflow pod, triggering a panic that terminates the entire Argo Workflows controller. Because the poisoned object persists across restarts, the controller can enter an indefinite CrashLoopBackOff state, preventing all workflows in the cluster from making progress until an administrator manually deletes the offending resource. The impact is cluster-wide disruption of workflow orchestration rather than code execution or privilege escalation.
If you can’t patch tonight, do this now.
If immediate upgrade is not feasible, reduce exposure by restricting who can create Workflow resources and enforcing admission validation on workflows.argoproj.io/pod-gc-strategy values so malformed annotations are rejected before reaching the controller. The content specifically identifies OPA Gatekeeper and Kyverno as suitable policy-enforcement options. If exploitation has already occurred and the controller is stuck in a crash loop, manual administrative intervention is required: delete the poisoned workflow or pod from the Kubernetes API so the controller can restart cleanly and resume processing.
Patch, then assume compromise.
Upgrade Argo Workflows to a fixed release. The vulnerability is fixed in 3.7.14 and 4.0.5. For affected 4.x deployments, upgrade to 4.0.5 or later. For affected 3.7.x deployments, upgrade to 3.7.14 or later. The provided content states that 3.6.5 through 3.6.19 are affected and does not list a patched 3.6.x release, so impacted 3.6.x users should upgrade to a supported fixed branch such as 3.7.14 or 4.0.5.
No public exploits tracked yet. Mallory keeps watching.
Products and vendors Mallory has correlated with this vulnerability. Open in Mallory to drill down to specific CPE configurations and version ranges.
4 sources tracked across advisories, community write-ups, and news. New activity surfaces here as Mallory finds it.