Argo Workflows: Unchecked annotation parsing in pod informer crashes Argo Workflows controller
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 4.0.5, 3.7.14
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
- Exploitation: poc
- Automatable: no
- Technical impact: partial
Summary
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.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: poc · Automatable: no · Technical impact: partial
- Record last updated
Affected versions
- argoproj argo-workflows
From 4.0.0 · fixed in 4.0.5; From 3.7.0 · fixed in 3.7.14; From 3.6.5 · through 3.6.19
- github.com/argoproj/argo-workflowsGo
All versions
- github.com/argoproj/argo-workflows/v2Go
All versions
- github.com/argoproj/argo-workflows/v3Go
From 3.6.5
- github.com/argoproj/argo-workflows/v3Go
From 3.7.0 · fixed in 3.7.14
- github.com/argoproj/argo-workflows/v4Go
From 4.0.0 · fixed in 4.0.5
- github.com/argoproj/argo-workflows/v3Go
From 3.6.5 · through 3.6.19