Skip to main content

Argo Workflows CVE-2026-93991

| EUVDEUVD-2026-83619 HIGH
Authorization Bypass Through User-Controlled Key (CWE-639)
2026-09-19 VulnCheck GHSA-3fwg-9p8x-37mv
8.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as namespace-scoped Argo user
  2. Delivery
    Craft ListArchivedWorkflows with metadata.namespace!=own-ns
  3. Exploit
    Negated selector skips cluster-scoped access review
  4. Execution
    Server returns archived workflows from all namespaces
  5. Impact
    Harvest 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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
1 PoC candidate (unverified) Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

argo-workflows 4.1.0 <4.1.4

Affected Packages

euvd argo_workflows fix: 4.1.4

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

Vendor (VulnCheck) PRIMARY 8.3 HIGH
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
vuln.today AI 7.7 HIGH

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.

3.1 AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
High
Subsequent system: Integrity
None
Subsequent system: Availability
None

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

Why It Matters

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.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 74% exploitable
Prevalence
Medium
popular CNCF Kubernetes-native workflow engine, common in cloud-native shops
Social Media
4
Sightings
Data Quality
6 sources
Confidence: High

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC Yes
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

62
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +42
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0
CVE-2026-54526 HIGH POC
8.9 Jul 16

Privilege escalation in Argo Workflows before 3.7.15 and 4.0.6 lets a low-privileged user who can submit Workflows bypas

CVE-2025-62156 HIGH POC
8.8 Oct 14

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

CVE-2026-31892 HIGH POC
8.9 Mar 11

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

CVE-2025-66626 HIGH POC
7.5 Dec 09

Malicious tar archives can escape Argo Workflows' artifact extraction directory and overwrite /var/run/argo/argoexec ins

CVE-2026-28229 HIGH POC
7.5 Mar 11

Information disclosure in Argo Workflows before 4.0.2 and 3.7.11 lets any unauthenticated client read WorkflowTemplates

CVE-2026-23960 HIGH POC
7.3 Jan 21

Stored cross-site scripting in Argo Workflows (CNCF Kubernetes workflow engine) before 3.6.17 and 3.7.8 lets any authent

CVE-2021-37914 MEDIUM POC
6.5 Aug 03

In Argo Workflows through 3.1.3, if EXPRESSION_TEMPLATES is enabled and untrusted users are allowed to specify input par

CVE-2024-53862 MEDIUM POC
6.3 Dec 02

Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. Rated m

CVE-2025-62157 HIGH
8.5 Oct 14

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

CVE-2026-40886 HIGH
7.7 Apr 23

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-

CVE-2022-29164 HIGH
7.1 May 06

Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. Rated h

CVE-2024-47827 MEDIUM
4.8 Oct 28

Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. Rated m

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy