<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Argo-Workflows — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/argo-workflows/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata — refreshed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Mon, 04 May 2026 20:12:01 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/argo-workflows/feed.xml" rel="self" type="application/rss+xml"/><item><title>Argo Workflows Credentials Exposed in Pod Logs</title><link>https://feed.craftedsignal.io/briefs/2024-01-09-argo-cred-leak/</link><pubDate>Mon, 04 May 2026 20:12:01 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-09-argo-cred-leak/</guid><description>Argo Workflows versions 4.0.0 to 4.0.4 log artifact repository credentials in plaintext, allowing users with read access to pod logs to extract sensitive information such as S3 access keys and GCS service account keys.</description><content:encoded><![CDATA[<p>Argo Workflows, a Kubernetes-native workflow engine, is vulnerable to credential exposure. Specifically, versions 4.0.0 through 4.0.4 inadvertently log artifact repository credentials in plaintext during artifact operations. This includes sensitive data like S3 Access Keys, Secret Keys, Session Tokens, Server-Side Customer Keys, OSS Access Keys, Secret Keys, Security Tokens, and GCS Service Account Keys. The vulnerability stems from the logging driver passing the entire ArtifactDriver struct to the structured logger. Any user with read access to workflow pod logs can extract these credentials, creating a significant security risk. This is an incomplete fix of CVE-2025-62157.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker gains read access to Kubernetes pod logs within the Argo Workflows namespace. This could be achieved through compromised credentials, misconfigured RBAC policies, or other Kubernetes vulnerabilities.</li>
<li>The attacker identifies a workflow that utilizes artifact storage, such as S3 or GCS.</li>
<li>The workflow executes an artifact operation (upload or download).</li>
<li>Argo Workflows logs the entire ArtifactDriver struct, including the plaintext credentials, into the pod logs.</li>
<li>The attacker queries the pod logs using <code>kubectl</code> or other Kubernetes tooling. For example: <code>kubectl -n argo logs &quot;cred-leak-test&quot; -c wait</code>.</li>
<li>The attacker extracts the plaintext credentials (e.g., S3 Access Key and Secret Key) from the log output.</li>
<li>The attacker uses the extracted credentials to access the artifact repository (e.g., S3 bucket) and potentially steal data or perform other unauthorized actions.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability allows unauthorized access to artifact repositories used by Argo Workflows. This can lead to data breaches, as sensitive data stored in S3 buckets, GCS buckets, or other storage solutions can be exposed. The impact is especially severe if the compromised credentials have broad permissions or if the artifact repository contains highly sensitive data. This affects Argo Workflows versions 4.0.0, 4.0.1, 4.0.2, 4.0.3, and 4.0.4.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade Argo Workflows to version 4.0.5 or later to remediate the vulnerability (CVE-2026-42295).</li>
<li>Review and restrict Kubernetes RBAC permissions to limit access to pod logs, following the principle of least privilege.</li>
<li>Implement log monitoring and alerting for unusual access patterns to Kubernetes pod logs.</li>
<li>Rotate any potentially exposed artifact repository credentials (S3 access keys, GCS service account keys, etc.) if Argo Workflows versions 4.0.0-4.0.4 were in use.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>argo-workflows</category><category>credential-access</category><category>kubernetes</category></item><item><title>Argo Workflows Template Referencing Restriction Bypass</title><link>https://feed.craftedsignal.io/briefs/2026-05-argo-workflow-bypass/</link><pubDate>Mon, 04 May 2026 20:11:38 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-05-argo-workflow-bypass/</guid><description>Argo Workflows has an incomplete fix for CVE-2026-31892, allowing bypass of templateReferencing restrictions to modify pod specifications, leading to potential privilege escalation and security context overrides.</description><content:encoded><![CDATA[<p>Argo Workflows, a Kubernetes-native workflow engine, contains an incomplete fix for CVE-2026-31892. The initial patch blocked <code>podSpecPatch</code> modifications when <code>templateReferencing: Strict</code> was active. However, other fields within the WorkflowSpec that influence pod creation, such as <code>hostNetwork</code>, <code>serviceAccountName</code>, and <code>securityContext</code>, were not restricted. This allows a malicious user to bypass intended security controls and potentially escalate privileges within the Kubernetes cluster. Versions affected include those supporting the <code>templateReferencing</code> feature, specifically v4.0.2 and v3.7.11, which include the initial fix for CVE-2026-31892 but are still vulnerable to this bypass. This vulnerability exists because the check in <code>setExecWorkflow</code> only validates <code>HasPodSpecPatch()</code>, while other critical fields are applied directly to the pod specification. The bypass affects both <code>Strict</code> and <code>Secure</code> modes.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker gains <code>create Workflow</code> permission within the Argo Workflows environment.</li>
<li>Attacker crafts a Workflow manifest that references a hardened WorkflowTemplate.</li>
<li>Attacker sets <code>hostNetwork: true</code> (or other vulnerable fields like <code>securityContext</code>, <code>serviceAccountName</code>, <code>tolerations</code>, or <code>automountServiceAccountToken</code>) in the Workflow manifest.</li>
<li>The Workflow is submitted, and the <code>setExecWorkflow</code> function in the Argo controller only checks for <code>podSpecPatch</code>.</li>
<li>Due to the missing validation, the user-defined <code>hostNetwork: true</code> (or other vulnerable fields) is merged with the WorkflowTemplate specification.</li>
<li>The <code>createWorkflowPod</code> function reads the merged specification and applies the <code>hostNetwork: true</code> setting directly to the pod specification, bypassing the intended restrictions.</li>
<li>A pod is created with host networking enabled, granting the container access to the host&rsquo;s network namespace.</li>
<li>The attacker can now access sensitive information or perform actions on the network as if they were running directly on the host.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation allows an attacker to bypass the intended security restrictions imposed by Argo Workflows&rsquo; <code>templateReferencing</code> feature. This can lead to privilege escalation, unauthorized access to network resources, and the potential to compromise other containers or nodes within the Kubernetes cluster. The impact is most significant in clusters that rely on Argo&rsquo;s Strict mode as the primary enforcement layer, as other Kubernetes-level controls like PodSecurity admission or OPA/Gatekeeper may not be in place to mitigate these bypasses.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Deploy the Sigma rule <code>Argo Workflow Host Network Bypass</code> to detect workflows attempting to set <code>hostNetwork: true</code>, and tune for your environment.</li>
<li>Deploy the Sigma rule <code>Argo Workflow Service Account Override</code> to detect workflows attempting to override the service account.</li>
<li>Upgrade to a patched version of Argo Workflows that addresses CVE-2026-42296, ensuring that all WorkflowSpec fields that influence pod security posture are validated.</li>
<li>Implement Kubernetes-level controls, such as PodSecurity admission or OPA/Gatekeeper, to provide an additional layer of defense against unauthorized pod specification modifications.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>argo-workflows</category><category>kubernetes</category><category>privilege-escalation</category><category>defense-evasion</category></item><item><title>Argo Workflows Controller Denial-of-Service via Malformed Pod Annotation</title><link>https://feed.craftedsignal.io/briefs/2024-01-09-argo-workflow-dos/</link><pubDate>Thu, 23 Apr 2026 21:39:21 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-09-argo-workflow-dos/</guid><description>A malformed `workflows.argoproj.io/pod-gc-strategy` annotation in an Argo Workflow pod can trigger an unchecked array index in the `podGCFromPod()` function, leading to a controller-wide panic and denial-of-service.</description><content:encoded><![CDATA[<p>Argo Workflows is vulnerable to a denial-of-service attack where a malformed <code>workflows.argoproj.io/pod-gc-strategy</code> annotation within a workflow pod can crash the Argo Workflows controller. This vulnerability stems from an unchecked array index in the <code>podGCFromPod()</code> function. When the annotation value lacks a &ldquo;/&rdquo;, the <code>strings.Split</code> function returns an array of length 1, leading to an out-of-bounds access when trying to retrieve the second element. The resulting panic occurs outside the controller&rsquo;s recovery scope, causing the entire controller process to terminate. The affected versions include 3.6.5 through 3.6.19, 3.7.0-rc1 through 3.7.12, and 4.0.0-rc1 through 4.0.3. This vulnerability was introduced in commit <a href="https://github.com/argoproj/argo-workflows/issues/14129">#14129</a>.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker crafts a malicious Argo Workflow YAML file.</li>
<li>The YAML includes a <code>podMetadata</code> section defining annotations for the workflow pod.</li>
<li>Within the annotations, the <code>workflows.argoproj.io/pod-gc-strategy</code> key is set to a value that does not contain a forward slash (&quot;/&quot;), such as &ldquo;NoSlash&rdquo;.</li>
<li>The attacker submits the crafted workflow to the Argo Workflows controller using <code>kubectl apply -n argo -f malicious-workflow.yaml</code>.</li>
<li>The Argo Workflows controller receives the workflow definition and creates a corresponding pod based on the specification.</li>
<li>The <code>podGCFromPod()</code> function in <code>/workflow/controller/pod/controller.go</code> attempts to parse the <code>workflows.argoproj.io/pod-gc-strategy</code> annotation.</li>
<li>The <code>strings.Split</code> function splits the annotation value, resulting in an array with only one element.</li>
<li>The code attempts to access <code>parts[1]</code>, causing a panic due to an out-of-bounds array access and crashes the controller, resulting in a denial-of-service.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability allows any user with the ability to submit workflows to crash the Argo Workflows controller. The controller will enter a crash loop, rendering the entire Argo Workflows deployment unavailable. Since the controller is responsible for managing and executing workflows, all workflow processing is halted, leading to a denial-of-service condition. This can severely impact organizations relying on Argo Workflows for their CI/CD pipelines or other automated tasks. The attacker requires only <code>create</code> permission on Workflow resources to execute this attack.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade to a patched version of Argo Workflows (v3.6.4 or earlier, v3.6.20+, v3.7.13+, or v4.0.4+) to remediate the vulnerability as described in <a href="https://github.com/advisories/GHSA-5jv8-h7qh-rf5p">GHSA-5jv8-h7qh-rf5p</a>.</li>
<li>Implement input validation on workflow submissions to reject workflows with malformed <code>workflows.argoproj.io/pod-gc-strategy</code> annotations. See the PoC workflow example provided in <a href="https://github.com/advisories/GHSA-5jv8-h7qh-rf5p">GHSA-5jv8-h7qh-rf5p</a> for examples of vulnerable annotation values.</li>
<li>Deploy the Sigma rule <code>Detect Argo Workflows Malformed Pod GC Annotation</code> to detect workflow submissions containing potentially malicious annotations.</li>
</ul>
]]></content:encoded><category domain="severity">medium</category><category domain="type">advisory</category><category>argo-workflows</category><category>denial-of-service</category><category>kubernetes</category></item><item><title>Argo Workflows ConfigMap Sync Service Missing Authorization Vulnerability</title><link>https://feed.craftedsignal.io/briefs/2024-05-argo-configmap-auth-bypass/</link><pubDate>Fri, 03 May 2024 16:23:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-05-argo-configmap-auth-bypass/</guid><description>The Sync Service's ConfigMap-backed provider in Argo Workflows performs zero authorization checks on all CRUD operations, allowing any authenticated user to create, read, update, and delete Kubernetes ConfigMaps containing synchronization limits, potentially leading to denial of service, workflow disruption, information disclosure, or arbitrary ConfigMap manipulation in Argo Workflows versions v4.0.0 to v4.0.4.</description><content:encoded><![CDATA[<p>Argo Workflows, a Kubernetes-native workflow engine, is vulnerable to an authorization bypass in its Sync Service&rsquo;s ConfigMap-backed provider. This vulnerability, present in versions 4.0.0 through 4.0.4, stems from a lack of authorization checks on CRUD operations performed on ConfigMaps. This means that any authenticated user, even with a fake Bearer token, can create, read, update, and delete Kubernetes ConfigMaps used for synchronization limits. This flaw allows attackers to potentially disrupt workflow execution, access sensitive configuration data, or even manipulate ConfigMaps in namespaces accessible to the server&rsquo;s service account. The vulnerability was reported on May 4, 2026, and poses a significant risk to Argo Workflows deployments.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker gains network access to the Argo Server.</li>
<li>Attacker authenticates to the Argo Server using any valid or even a &ldquo;fake&rdquo; Bearer token (e.g., <code>fake-token</code>).</li>
<li>Attacker crafts a POST request to the <code>/api/v1/sync/default</code> endpoint to create a new Sync Limit ConfigMap with specified parameters like namespace, ConfigMap name, key, and limit.</li>
<li>The Argo Server&rsquo;s <code>configMapSyncProvider.createSyncLimit</code> function executes without performing any authorization checks.</li>
<li>The function uses the Kubernetes client to create a ConfigMap in the specified namespace based on the attacker&rsquo;s input.</li>
<li>Attacker can subsequently send GET, PUT, or DELETE requests to <code>/api/v1/sync/default/{key}</code> to read, update, or delete existing Sync Limit ConfigMaps without authorization.</li>
<li>The Argo Server processes these requests, modifying the ConfigMaps accordingly, due to the missing <code>auth.CanI</code> checks.</li>
<li>The attacker disrupts workflow execution, gains access to sensitive configuration data, or manipulates ConfigMaps, leading to denial of service or other malicious outcomes.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability allows an attacker with network access to the Argo Server and valid or fake authentication credentials to perform several malicious actions. They can cause a denial of service by setting sync limits to zero or a very low number, effectively blocking parallel workflow execution. Attackers can also disrupt running workflows by modifying existing sync limits. Furthermore, they can gain access to sensitive information by reading ConfigMap data or manipulate ConfigMaps in any namespace accessible to the server&rsquo;s service account. This could lead to complete compromise of the Argo Workflows environment.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade to Argo Workflows version 4.0.5 or later to patch CVE-2026-42297 and mitigate the missing authorization checks.</li>
<li>Monitor access logs on the Argo Server for unexpected API calls to the <code>/api/v1/sync</code> endpoints, especially POST, PUT, and DELETE requests, which could indicate unauthorized ConfigMap manipulation. Use the rule <code>Argo Workflows ConfigMap Sync Service Modification</code> to detect unauthorized modifications.</li>
<li>Implement network segmentation and access controls to limit network access to the Argo Server, reducing the attack surface.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>argo-workflows</category><category>kubernetes</category><category>configmap</category><category>authorization</category><category>vulnerability</category></item></channel></rss>