<?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 Project — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/vendors/argo-project/</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>Thu, 23 Apr 2026 21:39:21 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/vendors/argo-project/feed.xml" rel="self" type="application/rss+xml"/><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></channel></rss>