CVE-2026-40886

Argo Workflows: Unchecked annotation parsing in pod informer crashes Argo Workflows controller

Published Apr 23, 2026 CVSS 3.1 · 7.7 High EPSS < 1% KEV · Not listed
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.

Analysis

AI-generated

Technical impact

Argo Workflows 3.6.5 through 4.0.4 contain an unchecked array index in the pod informer's podGCFromPod() function, which can be triggered by a malformed workflows.argoproj.io/pod-gc-strategy annotation on a workflow pod. When this occurs, the controller goroutine panics outside its recover scope, causing the entire Argo Workflows controller process to crash. The poisoned pod remains across restarts, leading to a crash loop that stops all workflow processing and effectively denies service to users of the workflow engine. The weakness is reflected in CWE‑129 and CWE‑1285, unchecked indexing and array bounds errors.

Affected Systems

The affected product is Argo Workflows from the argoproj organization. Versions from 3.6.5 up to and including 4.0.4 are impacted. The vulnerability is fixed in releases 4.0.5 and 3.7.14, which should be applied by users on the affected versions.

Risk and Exploitability

The CVSS score of 7.7 indicates a fairly high severity, while the EPSS score of under 1% shows a low probability of exploitation under current conditions. The vulnerability is not catalogued by CISA in KEV. Based on the description, the likely attack vector requires an adversary who can submit or modify workflow pods within the Kubernetes cluster, inserting a malformed workflows.argoproj.io/pod-gc-strategy annotation. This suggests a local or privileged cluster attacker would need sufficient permissions to create or alter workflow pods to exploit the flaw.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade Argo Workflows to version 4.0.5 or 3.7.14 (or later) which contains the fix for the unchecked array index bug.
  • If an upgrade cannot be performed immediately, delete any pod that contains a malformed workflows.argoproj.io/pod-gc-strategy annotation to stop the crash loop and restore controller operation.
  • Implement validation of the workflows.argoproj.io/pod-gc-strategy annotation to ensure only valid values are accepted, reducing the risk of future crashes.

Generated by OpenCVE AI on May 1, 2026 at 05:39 UTC.

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Github GHSA Github GHSA GHSA-5jv8-h7qh-rf5p Argo Workflows: Unchecked annotation parsing in pod informer crashes Argo Workflows Controller
History
Type Values Removed Values Added
First Time appeared Argoproj argo Workflows
CPEs cpe:2.3:a:argoproj:argo_workflows:*:*:*:*:*:go:*:*
Vendors & Products Argoproj argo Workflows
Type Values Removed Values Added
First Time appeared Argoproj
Argoproj argo-workflows
Vendors & Products Argoproj
Argoproj argo-workflows
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
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.
Title Argo Workflows: Unchecked annotation parsing in pod informer crashes Argo Workflows controller
Weaknesses CWE-129
References
Metrics cvssV3_1

{'score': 7.7, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:N/A:H'}

Weaknesses
  • CWE-1285

    Improper Validation of Specified Index, Position, or Offset in Input

  • CWE-129

    Improper Validation of Array Index

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Jul 15, 2026, 1:00 AM
Reserved
Apr 15, 2026, 3:57 PM
Status
Modified
Published
Apr 23, 2026, 7:17 PM
Modified
Oct 26, 2026, 10:10 PM
Severity
Important
Public date
Apr 23, 2026, 6:12 PM