Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as namespace-scoped Argo user
-
DeliveryCraft ListArchivedWorkflows with metadata.namespace!=own-ns
-
ExploitNegated selector skips cluster-scoped access review
-
ExecutionServer returns archived workflows from all namespaces
-
ImpactHarvest spec args/parameters/annotations for secrets
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
|
| Exploitation Conditions | Requires an authenticated principal (PR:L) that already holds namespace-scoped 'list' permission on archived workflows in at least one namespace, and the Argo Workflows Server running an affected version (4.1.0 through 4.1.3) with the workflow-archive feature enabled and populated. Exploitation is performed by supplying a metadata.namespace field selector using the NotEquals operator (e.g. 'metadata.namespace!=<own-ns>'). Limiting factors: the attacker must be authenticated and possess at least single-namespace list rights, the archive persistence must be in use, and the value of the disclosure depends on the deployment being genuinely multi-tenant (namespaces as trust boundaries) - in a single-tenant cluster the exposed data may already be accessible to that user. |
| Impact | This is a genuine, well-substantiated priority for multi-tenant Argo Workflows deployments, though not a mass-exploitation threat. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N, score 8.3) indicates a network-reachable, low-complexity attack requiring only low privileges - specifically an already-authenticated user with namespace-scoped list permissions. The high score is driven by VC:H combined with SC:H (subsequent/scope impact), correctly modeling that a single-namespace tenant can read data belonging to every OTHER namespace - a cross-tenant confidentiality breach in a system whose entire security model is namespace isolation. No EPSS score, KEV listing, or public POC is provided, so there is NO evidence of active exploitation or widespread automated attacks; this is currently a disclosed-and-patched issue rather than an in-the-wild threat. The confidentiality boundary broken is real (the source-code commit confirms the exact root cause), but impact is limited to information disclosure - no integrity or availability effect (VI/VA:N). Net: high-value in shared/multi-tenant clusters where namespaces are trust boundaries; lower urgency in single-tenant clusters where a namespace-scoped user could see cluster data anyway. |
| Exploit ScenarioDerived | An attacker (or curious/compromised low-privilege tenant) holding list permission for archived workflows in only their own Kubernetes namespace sends a ListArchivedWorkflows request with the field selector 'metadata.namespace!=user-ns'. Because the NotEquals operator bypasses the cluster-wide access-review check, the server returns archived workflows from all other namespaces, leaking their spec arguments, parameter values, and annotations - which commonly contain secrets, tokens, connection strings, and internal configuration. No public POC is referenced, but the trigger is a single crafted API/CLI query, trivially reproducible from the advisory and commit. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 19, 2026
Cross-namespace data disclosure in Argo Workflows 4.1.0 through 4.1.3 lets an authenticated user who holds only namespace-scoped 'list' permission on archived workflows bypass the cluster-scoped access review and read archived workflows from every other namespace they were never granted access to. The bypass is triggered by supplying a negated metadata.namespace field selector (e.g. 'metadata.namespace!=<own-namespace>') to ListArchivedWorkflows; the server validates the caller's SelfSubjectAccessReview against the caller's own namespace instead of evaluating the request as a cluster-wide list, so the negated selector silently widens the result set. Exposed data includes workflow spec arguments, parameter values, and annotations, which frequently carry secrets, registry credentials, and internal endpoint details; the impact is confidentiality-only and is most severe in genuinely multi-tenant clusters where namespaces are treated as trust boundaries. There is no confirmed active exploitation (not listed in CISA KEV) and no public exploit code identified at time of analysis, and the vendor has released a fixed version, so this is a substantiated but not mass-exploitation risk.
RemediationAI
Vendor-released patch: upgrade Argo Workflows to 4.1.4 or later, which is the version published in the release reference https://github.com/argoproj/argo-workflows/releases/tag/v4.1.4 and which incorporates the upstream fix in commit a40972386c097ddf816d2e60e13f058bedca53d9 (the patch makes a NamespaceFilter of "NotEquals" require a cluster-scoped list SelfSubjectAccessReview). Consult the vendor advisory at https://github.com/argoproj/argo-workflows/security/advisories/GHSA-q65w-j2vp-47c4 for the authoritative upgrade guidance and review test coverage expectations. Note the behavioural side effect of the fix: after upgrading, any legitimate caller that previously relied on negated namespace selectors will now need cluster-wide 'list' permission on workflows, so audit service accounts and users that use that pattern before rolling out. If upgrading cannot be done immediately, the effective compensating control is to remove namespace-scoped 'list' rights on archived workflows (resource 'workflows.argoproj.io' in the archive API path) from any principal that does not also hold cluster-scoped list rights, since the bypass requires at least single-namespace list permission; this is restrictive and will break legitimate per-namespace archive browsing. Disabling or not enabling the workflow-archive persistence feature eliminates the vulnerable code path entirely, at the cost of losing archived workflow history and its audit/search capabilities, so it is only suitable where that data is not required. Network-layer restriction of the Argo Workflows Server API to trusted administrative networks reduces exposure but does not fix the authorization logic and should be treated as a containment measure only.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The flaw is a CWE-639 authorization bypass through a user-controlled key, sitting in the Argo Workflows server's workflow-archive gRPC service. ListArchivedWorkflows receives user-supplied Kubernetes ListOptions, including a FieldSelector string parsed into a namespace filter and operator pair. In affected builds, the handler calls auth.CanI(ctx, "list", "workflows", options.Namespace, "") - a Kubernetes SelfSubjectAccessReview scoped to the namespace named in the request - regardless of which operator was supplied. When the caller sends metadata.namespace!=user-ns, the effective query is cluster-wide (all namespaces except the caller's), but the authorization check was still evaluated only against user-ns, so a principal with single-namespace list rights passes the check and receives cross-namespace results from the archive store. The upstream fix in commit a40972386c097ddf816d2e60e13f058bedca53d9 explicitly detects NamespaceFilter == "NotEquals" and rewrites the review target namespace to the empty string, forcing a cluster-scoped access review; the accompanying test asserts that a caller allowed only in user-ns receives PermissionDenied for the negated selector while a non-negated selector for its own namespace still succeeds. The vulnerability depends on the workflow-archive persistence feature being enabled and populated, and the affected CPE cpe:2.3:a:argoproj:argo-workflows:*:*:*:*:*:*:*:* covers the 4.1.x line up to 4.1.3.
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
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N
Authenticated namespace-scoped user (PR:L) sends a simple crafted selector (AC:L) over the API (AV:N); cross-namespace read breaks the isolation boundary (S:C, C:H) with no integrity or availability impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Argo Workflows versions 4.1.0 through 4.1.3 contain an authorization bypass vulnerability in ListArchivedWorkflows that fails to apply cluster-scoped access review when the metadata.namespace field selector uses the NotEquals operator. Attackers with namespace-scoped list permissions can use a negated namespace field selector to retrieve archived workflows from all other namespaces, exposing spec arguments, parameter values, and annotations.
Technical POC Analysis
CWE-639 (Authorization Bypass Through User-Controlled Key; the advisory also labels it CWE-285).
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Latest POC
1 PoC candidate from github (unverified)
Sign in to open the public PoC links collected for this CVE.
Executive ViewAI
Argo Workflows 4.1.0 through 4.1.3 contains a cross-namespace data disclosure flaw that allows a user holding only namespace-scoped list permission on archived workflows to read archived workflow records from every other namespace in the cluster, silently bypassing the intended cluster-scoped access review. Because archived workflow specifications, arguments, parameter values, and annotations routinely carry registry credentials, secrets, and internal endpoint details, any organization running these versions on a shared multi-tenant cluster should assume that namespace isolation is no longer an effective trust boundary. The exposure is confidentiality-only, but it directly undermines the tenant separation that regulated or internal multi-tenant platforms depend on.
Apply vendor patch.
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
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
Malicious tar archives can escape Argo Workflows' artifact extraction directory and overwrite /var/run/argo/argoexec ins
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
EUVD-2026-83619
GHSA-3fwg-9p8x-37mv
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB