Argo Workflows
CVE-2025-66626
HIGH
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain workflow-submission rights or artifact control
-
DeliveryUpload malicious tar.gz with crafted symlinks
-
ExploitTrigger flawed untar symlink target resolution
-
ExecutionOverwrite /var/run/argo/argoexec with attacker script
-
ImpactExecute arbitrary code at pod start
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Relative path traversal prevention
|
| Exploitation Conditions | Exploitation requires the attacker to cause an Argo Workflows executor to extract an attacker-influenced archive via its untar routine - for example by controlling an artifact in a referenced repository (S3/artifact store) or submitting a workflow that pulls the attacker-supplied tar/gz. The archive must contain crafted symbolic links that exploit the flawed link-target computation and validation, enabling an overwrite of /var/run/argo/argoexec, which is then executed at pod start. Limiting factors: only Argo Workflows versions 3.6.13 and below and 3.7.0 through 3.7.4 are affected (fixed in 3.6.14 and 3.7.5); the attack path depends on the artifact-extraction feature processing attacker-controlled data, so it is not a purely default-config drive-by; and environments that applied only the CVE-2025-62156 patch remain vulnerable because that fix is ineffective against malicious symlink archives. |
| Impact | This is a moderate-priority issue rather than an emergency. The NVD CVSS 3.1 base score is 7.5 (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N) - network vector, low complexity, no privileges, scoring integrity-only impact. However, the signals are mixed. EPSS is low at 0.68% (51st percentile), indicating no strong evidence of broad opportunistic exploitation, and the vulnerability is NOT on the CISA KEV list, so there is no confirmed active exploitation. Publicly available exploit code exists, which raises near-term likelihood but is a distinct signal from in-the-wild use. No SSVC decision data (exploitation status, automatable, technical impact) was provided, so that framework cannot be applied. Two important caveats: (1) the official vector rates this C:N/I:H/A:N, but the description states the overwritten /var/run/argo/argoexec 'would be executed at the pod's start,' which is arbitrary code execution and realistically implies full confidentiality/integrity/availability impact within the pod - the official score appears to understate the consequence; (2) PR:N implies unauthenticated, yet exploitation requires the attacker to get Argo to extract an attacker-controlled archive, which in most deployments means workflow-submission rights or control of a referenced artifact store - verify realistic privilege prerequisites with the vendor. Note also this is explicitly a bypass of the earlier fix for CVE-2025-62156, so environments that only applied that prior patch remain exposed. |
| Exploit ScenarioDerived | An attacker who can influence an artifact consumed by an Argo Workflow (e.g., planting a malicious tar.gz in a referenced S3/artifact repository, or submitting a workflow that pulls an attacker-controlled archive) crafts an archive containing symbolic links whose target computation and validation the executor mishandles. When the workflow extracts the archive, the flawed untar logic follows the symlink and overwrites /var/run/argo/argoexec with an attacker-supplied script, which then executes automatically when the pod starts, giving the attacker code execution in the pod. Publicly available exploit/PoC code demonstrates the symlink-based archive-extraction bypass. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 15, 2026
Malicious tar archives can escape Argo Workflows' artifact extraction directory and overwrite /var/run/argo/argoexec inside a workflow pod, allowing an attacker to substitute the executor binary with a script that runs when the pod starts. Only Argo Workflows 3.6.13 and earlier and 3.7.0 through 3.7.4 are affected (fixed in 3.6.14 and 3.7.5), and exploitation requires the attacker to get an attacker-influenced archive processed by the executor's untar routine, for example via an artifact store they control or a submitted workflow that pulls their tarball. Publicly available exploit code exists, but there is no confirmed active exploitation (not in CISA KEV) and EPSS is a modest 0.68% (51st percentile); the independent assessment rates this as a moderate-priority issue rather than an emergency. Notably, environments that only applied the earlier fix for CVE-2025-62156 remain vulnerable because that patch does not handle malicious symbolic links.
RemediationAI
Upgrade to a vendor-patched release: Argo Workflows 3.6.14 (for the 3.6.x line) or 3.7.5 (for the 3.7.x line); the upstream fix is commit https://github.com/argoproj/argo-workflows/commit/6b92af23f35aed4d4de8b04adcaf19d68f006de1, which resolves the extraction parent with filepath.EvalSymlinks and rejects paths escaping the destination, and it ships with regression tests for malicious symlinks. Do not treat the earlier CVE-2025-62156 patch (3.6.12/3.7.3) as sufficient, since it is ineffective against archives containing symbolic links. If immediate upgrade is not possible, compensating controls with real trade-offs are: (1) stop processing untrusted archives through the executor entirely - restrict artifact repositories to trusted, controlled buckets and enforce artifact signing/attestation, accepting that this breaks workflows consuming user-supplied tarballs; (2) tighten who can submit workflows or templates that define artifacts and from which sources (RBAC on WorkflowTemplate/Workflow resources plus artifact-repository allowlists), which reduces the attack surface but does not remove it for multi-tenant clusters; (3) run the executor and wait containers with a read-only root filesystem where the mounted /var/run/argo path cannot be overwritten, though this may break executors that expect to write there; and (4) apply admission policies or pod security settings that prevent executors from writing to their own entrypoint path, with the caveat that these are hardening measures, not fixes. Because public exploit code and PoC details exist (including the GHSA-xrqc-7xgx-c9vh advisory), patch promptly and audit cluster workflow permissions.
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 3 packages in go
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The flaw lives in the Go tar-extraction helper untar() in workflow/executor/executor.go of github.com/argoproj/argo-workflows/v3, the container-native Kubernetes workflow engine that unpacks artifacts (artifacts, inputs, outputs) inside wait/executor containers. Root cause class is CWE-23 (relative path traversal) but expressed specifically through symbolic-link handling: the code computed a link's target as filepath.Join(filepath.Dir(target), header.Linkname) and performed its containment check on that computed path rather than resolving the link, so a crafted archive could first create a symlink pointing outside the extraction root (or point directly at a sensitive path) and then write a regular file through it. Go's filepath.Join/filepath.Clean normalize '..' segments and absolute names in ways that let a name such as /mainctrfs/etc/... override the base destination, and os.MkdirAll on the computed parent combined with the unchecked write lets files land outside the intended directory. Because the executor process runs in a pod where /var/run/argo/argoexec is the entrypoint binary and a mounted volume mirrors paths into the main container, an overwrite of that file becomes code execution at pod start. The patch (commit 6b92af23f35aed4d4de8b04adcaf19d68f006de1) resolves the parent directory with filepath.EvalSymlinks and rejects any path whose resolved parent escapes the resolved destination, and it also validates header.Linkname before creating symlinks; unit tests TestUntarMaliciousSymlink and TestUnzipMaliciousSymlink were added to lock in the behavior. This supersedes the earlier path-traversal fix associated with CVE-2025-62156 (GHSA-p84v-gxvw-73pf, commits 5659ad9b and 9f6bc5d2, released in 3.6.12/3.7.3), which treated only literal '..' traversal and is ineffective against symlink-based archives.
Know when Argo Workflows gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
Overwriting argoexec yields code execution at pod start (C/I/A:H); low-complexity deterministic symlink flaw (AC:L); realistically requires ability to supply an artifact, so PR:L rather than PR:N.
Primary rating from NVD.
CVSS VectorNVD
DescriptionNVD
Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. Versions 3.6.13 and below and versions 3.7.0 through 3.7.4, contain unsafe untar code that handles symbolic links in archives. Concretely, the computation of a link's target and the subsequent check are flawed. An attacker can overwrite the file /var/run/argo/argoexec with a script of their choice, which would be executed at the pod's start. The patch deployed against CVE-2025-62156 is ineffective against malicious archives containing symbolic links. This issue is fixed in versions 3.6.14 and 3.7.5.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Affected Products (CPE)NVD
More in Argo Workflows
View allPrivilege escalation in Argo Workflows before 3.7.15 and 4.0.6 lets a low-privileged user who can submit Workflows bypas
Argo Workflows versions prior to 3.6.12 and 3.7.0 through 3.7.2 are vulnerable to a Zip Slip path traversal during artif
Authorization bypass in Argo Workflows (2.9.0 through 4.0.1 and 3.7.x before 3.7.11) lets any user permitted to submit W
Cross-namespace data disclosure in Argo Workflows 4.1.0 through 4.1.3 lets an authenticated user who holds only namespac
Information disclosure in Argo Workflows before 4.0.2 and 3.7.11 lets any unauthenticated client read WorkflowTemplates
Stored cross-site scripting in Argo Workflows (CNCF Kubernetes workflow engine) before 3.6.17 and 3.7.8 lets any authent
In Argo Workflows through 3.1.3, if EXPRESSION_TEMPLATES is enabled and untrusted users are allowed to specify input par
Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. Rated m
Argo Workflows versions prior to 3.6.12 and 3.7.0 through 3.7.2 write the artifact repository credentials held in the wo
Denial of service in the Argo Workflows controller (versions 3.6.5 through 4.0.4, plus the 3.7.0-rc1 through 3.7.12 pre-
Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. Rated h
Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. Rated m
NVD
CVE.org
EPSS
GitHub
Exploit-DB