CVE-2026-40886 Argo Workflows: Unchecked annotation parsing in pod informer crashes Argo Workflows controller
Attackers can crash the Argo Workflows controller by submitting pods with malformed annotations, causing a persistent crash loop that halts all workflow processing.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-40886?
CVE-2026-40886 is a high-severity denial of service vulnerability in argoproj argo-workflows, published on 23 Apr 2026. Any signed-in user can exploit it over the network, with no action from the victim.
Official description
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.
Which versions are affected by CVE-2026-40886?
12 open source packages ship an affected version, including github.com/argoproj/argo-workflows/v3, argo-workflows and github.com/argoproj/argo-workflows. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
github.com/argoproj/argo-workflows/v3 Go | From 3.6.5 | None |
github.com/argoproj/argo-workflows/v3 Go | From 3.6.5 to 3.6.19 | None |
github.com/argoproj/argo-workflows/v3 Go | From 3.6.5 to 3.6.19 | None |
github.com/argoproj/argo-workflows/v3 Go | From 3.7.0 | 3.7.14 |
github.com/argoproj/argo-workflows/v3 Go | From 3.7.0 | 3.7.14 |
github.com/argoproj/argo-workflows/v3 Go | From 3.7.0 | 3.7.14 |
6 more packages
argo-workflows Bitnami | From 3.6.5 | 3.7.14, 4.0.5 |
github.com/argoproj/argo-workflows Go | All versions | None |
github.com/argoproj/argo-workflows/v2 Go | All versions | None |
github.com/argoproj/argo-workflows/v4 Go | From 4.0.0 | 4.0.5 |
github.com/argoproj/argo-workflows/v4 Go | From 4.0.0 | 4.0.5 |
github.com/argoproj/argo-workflows/v4 Go | From 4.0.0 | 4.0.5 |
Products include Argoproj Argo Workflows.
How do I fix CVE-2026-40886?
Upgrade github.com/argoproj/argo-workflows/v3 to 3.7.14 or later.
Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.
Is CVE-2026-40886 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-40886 exists.
Other vulnerabilities in argoproj argo-workflows
- CVE-2026-28229 Argo Workflows has unauthorized access to Argo Workflows Template
- CVE-2026-54526 Argo Workflows: Incomplete fix for CVE-2026-31892: ArtifactGC.PodSpecPatch bypass of Strict/Secure templateReferencing
- CVE-2026-31892 WorkflowTemplate Security Bypass via podSpecPatch in Strict/Secure Reference Mode
- CVE-2026-42295 Argo Workflows: Exposure of artifact repository credentials
- CVE-2026-42297 Argo Workflows Is Missing Authorization in Sync ConfigMap Provider
Sources
Also known as BIT-argo-workflows-2026-40886, ECHO-4230-0b6b-1c14, GHSA-5jv8-h7qh-rf5p, GO-2026-5148, MINI-4756-cp55-mj5m, MINI-4p7p-95jq-xm6c and 6 more.