<?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>Yaml — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/tags/yaml/</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>Fri, 10 Apr 2026 19:32:48 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/tags/yaml/feed.xml" rel="self" type="application/rss+xml"/><item><title>PraisonAI Remote Code Execution via Malicious Workflow YAML</title><link>https://feed.craftedsignal.io/briefs/2024-01-03-praisonai-rce/</link><pubDate>Fri, 10 Apr 2026 19:32:48 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-03-praisonai-rce/</guid><description>PraisonAI is vulnerable to remote code execution; loading untrusted YAML files with `type: job` can lead to arbitrary host command execution, potentially enabling full system compromise.</description><content:encoded><![CDATA[<p>PraisonAI is vulnerable to remote code execution via specially crafted YAML files. The vulnerability stems from the <code>praisonai workflow run &lt;file.yaml&gt;</code> command, which, when processing YAML files with <code>type: job</code>, executes steps through the <code>JobWorkflowExecutor</code> class in <code>job_workflow.py</code>. This execution path supports shell command execution via <code>subprocess.run()</code>, inline Python execution via <code>exec()</code>, and arbitrary Python script execution. An attacker can leverage this to inject malicious code into a YAML file, such as <code>exploit.yaml</code>, to achieve arbitrary host command execution. Versions of <code>pip/praisonaiagents</code> up to and including 1.5.139 and <code>pip/PraisonAI</code> up to and including 4.5.138 are affected. This is especially critical in CI/CD environments or shared deployment contexts where untrusted YAML files may be processed.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker crafts a malicious YAML file (e.g., <code>exploit.yaml</code>) containing commands to be executed.</li>
<li>The attacker gains access to a system where PraisonAI is installed and can execute the <code>praisonai</code> command.</li>
<li>The attacker executes the command <code>praisonai workflow run exploit.yaml</code>, pointing to the malicious YAML file.</li>
<li>PraisonAI parses the YAML file and identifies the <code>type: job</code> directive.</li>
<li>The <code>JobWorkflowExecutor</code> class in <code>job_workflow.py</code> is invoked to process the workflow steps.</li>
<li>Within the workflow steps, commands specified using <code>run:</code>, <code>script:</code>, or <code>python:</code> directives are executed. Specifically, <code>_exec_shell()</code> executes shell commands, <code>_exec_inline_python()</code> executes inline Python, and <code>_exec_python_script()</code> executes Python scripts.</li>
<li>The malicious code executes, performing actions such as writing files (e.g., <code>pwned.txt</code>) or executing arbitrary system commands.</li>
<li>The attacker achieves arbitrary code execution on the host system, leading to potential system compromise.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation allows a remote or local attacker to execute arbitrary host commands and code. This can lead to full system compromise, including data theft, modification, or destruction. In CI/CD or shared deployment contexts, this could impact multiple systems or applications. The reporter marked this as a critical severity vulnerability.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade <code>pip/praisonaiagents</code> and <code>pip/PraisonAI</code> to versions greater than 1.5.139 and 4.5.138, respectively, to patch the vulnerability as stated in the overview.</li>
<li>Implement strict input validation and sanitization for all YAML files processed by PraisonAI, paying close attention to the <code>type: job</code> directive to prevent execution of arbitrary commands and code.</li>
<li>Deploy the Sigma rule &ldquo;Detect PraisonAI Workflow Execution with Suspicious YAML&rdquo; to your SIEM to detect potential exploitation attempts, based on log source <code>process_creation</code>.</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>praisonai</category><category>rce</category><category>yaml</category></item></channel></rss>