<?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>Praisonai — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/tags/praisonai/</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>Sat, 18 Apr 2026 12:00:00 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/tags/praisonai/feed.xml" rel="self" type="application/rss+xml"/><item><title>PraisonAI Multiple Backends Vulnerable to SQL Injection via Unvalidated Table Prefix</title><link>https://feed.craftedsignal.io/briefs/2026-04-praisonai-sqli/</link><pubDate>Sat, 18 Apr 2026 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-04-praisonai-sqli/</guid><description>PraisonAI is vulnerable to SQL injection across nine database backends due to unsanitized `table_prefix` parameters, and in PostgreSQL due to an unsanitized `schema` parameter, enabling arbitrary SQL execution.</description><content:encoded><![CDATA[<p>PraisonAI, a software application, contains a critical SQL injection vulnerability affecting nine of its conversation store backends, including MySQL, PostgreSQL, and others. The vulnerability stems from the improper handling of the <code>table_prefix</code> parameter, which is passed directly into SQL queries without adequate validation. Specifically, backends such as MySQL, PostgreSQL, async SQLite/MySQL/PostgreSQL, Turso, SingleStore, Supabase, and SurrealDB are affected. In addition, the PostgreSQL backend is vulnerable due to the unvalidated <code>schema</code> parameter. This flaw allows an attacker to inject arbitrary SQL commands, potentially gaining unauthorized access to sensitive data. The incomplete fix for CVE-2026-40315 only addressed the SQLite backend, leaving other backends exposed. This vulnerability exists in PraisonAI versions 4.5.148 and earlier, as well as PraisonAI Agents versions 1.6.7 and earlier.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker identifies a PraisonAI instance where the <code>table_prefix</code> or <code>schema</code> (PostgreSQL) parameter is derived from external input (e.g., API request, user-modifiable configuration).</li>
<li>The attacker crafts a malicious <code>table_prefix</code> or <code>schema</code> string containing SQL injection payload (e.g., &ldquo;x&rsquo;; DROP TABLE users; &ndash;&rdquo;).</li>
<li>The attacker injects the malicious <code>table_prefix</code> or <code>schema</code> via the vulnerable input vector.</li>
<li>The PraisonAI application receives the crafted <code>table_prefix</code> or <code>schema</code> and incorporates it into a dynamically generated SQL query without proper sanitization.</li>
<li>The application executes the malicious SQL query against the database.</li>
<li>The attacker&rsquo;s injected SQL commands are executed, potentially allowing them to read, modify, or delete data within the database.</li>
<li>The attacker gains unauthorized access to sensitive data, such as user credentials, financial information, or other confidential data.</li>
<li>The attacker may escalate privileges, compromise other systems, or perform further malicious activities within the affected environment.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability enables attackers to execute arbitrary SQL commands, potentially leading to complete database compromise. The attacker can read sensitive data, modify existing records, inject malicious code, or even drop entire tables. This can result in significant data loss, financial damage, and reputational harm for affected organizations. This vulnerability is exploitable in any deployment where the <code>table_prefix</code> is derived from external input, such as in multi-tenant setups or API-driven configurations. The PostgreSQL <code>schema</code> parameter provides an additional injection point, further expanding the attack surface.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Apply input validation and sanitization to the <code>table_prefix</code> parameter in all database backends, mirroring the fix implemented for <code>sqlite.py</code> as described in the overview.</li>
<li>Apply input validation and sanitization to the <code>schema</code> parameter in the PostgreSQL backend, as noted in the overview.</li>
<li>Deploy the Sigma rule <code>Detect Malicious Table Prefix</code> to detect attempts to exploit this vulnerability in MySQL and PostgreSQL backends, as detailed below.</li>
<li>Upgrade PraisonAI to a version that includes proper input validation for <code>table_prefix</code> and <code>schema</code> parameters, targeting versions later than 4.5.148 for PraisonAI and later than 1.6.7 for PraisonAI Agents.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>sql-injection</category><category>praisonai</category><category>web-application</category></item><item><title>PraisonAI Unauthenticated Remote Session Hijacking Vulnerability (CVE-2026-40289)</title><link>https://feed.craftedsignal.io/briefs/2026-04-praisonai-rce/</link><pubDate>Tue, 14 Apr 2026 04:18:47 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-04-praisonai-rce/</guid><description>PraisonAI versions before 4.5.139 and praisonaiagents versions before 1.5.140 are vulnerable to unauthenticated remote session hijacking due to missing authentication and a bypassable origin check on the /ws WebSocket endpoint, enabling unauthorized remote control and data leakage.</description><content:encoded><![CDATA[<p>PraisonAI, a multi-agent team system, is affected by a critical vulnerability (CVE-2026-40289) in versions prior to 4.5.139 and praisonaiagents versions prior to 1.5.140. The vulnerability lies in the browser bridge component (&ldquo;praisonai browser start&rdquo;), which lacks proper authentication and has a bypassable origin check on its /ws WebSocket endpoint. The server, binding to 0.0.0.0 by default, inadequately validates the Origin header, permitting connections from non-browser clients omitting this header. This flaw allows an unauthenticated attacker to remotely hijack sessions and broadcast automation actions and outputs. This can lead to unauthorized remote control of connected browser automation sessions, leakage of sensitive page context and automation results, and misuse of model-backed browser actions. Defenders must prioritize patching affected systems to mitigate this severe risk.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker identifies a vulnerable PraisonAI instance with network access to the browser bridge component.</li>
<li>Attacker establishes a direct WebSocket connection to the /ws endpoint of the browser bridge, omitting the Origin header to bypass the weak origin check.</li>
<li>Attacker sends a &ldquo;start_session&rdquo; message to the WebSocket endpoint.</li>
<li>The server routes the attacker&rsquo;s &ldquo;start_session&rdquo; request to the first idle browser-extension WebSocket, effectively hijacking that session.</li>
<li>The hijacked browser session begins executing commands dictated by the attacker.</li>
<li>All automation actions and outputs resulting from the hijacked session are broadcast back to the attacker via the WebSocket connection.</li>
<li>Attacker gains unauthorized remote control of the connected browser automation session.</li>
<li>Attacker exfiltrates sensitive data and/or misuses model-backed browser actions.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of CVE-2026-40289 can lead to complete compromise of PraisonAI browser automation sessions. An attacker can gain unauthorized remote control, potentially leading to leakage of sensitive page context and automation results. Furthermore, they can misuse model-backed browser actions. The vulnerability affects all environments where the bridge is network-reachable. The severity of the impact is high, as it allows for unauthenticated remote code execution within the context of the PraisonAI browser extension.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade PraisonAI to version 4.5.139 or later, and praisonaiagents to version 1.5.140 or later to patch CVE-2026-40289.</li>
<li>Monitor network connections to the /ws endpoint on PraisonAI servers (logsource category: network_connection, product: windows/linux).</li>
<li>Deploy the Sigma rule to detect suspicious websocket connections without origin header (see rule below).</li>
<li>Implement network segmentation to limit network access to the PraisonAI browser bridge component.</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>cve-2026-40289</category><category>websocket</category><category>remote-code-execution</category><category>praisonai</category></item><item><title>PraisonAI Arbitrary Code Execution Vulnerability</title><link>https://feed.craftedsignal.io/briefs/2026-04-praisonai-code-exec/</link><pubDate>Tue, 14 Apr 2026 04:18:15 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-04-praisonai-code-exec/</guid><description>PraisonAI versions 4.5.138 and below are vulnerable to arbitrary code execution due to the unsanitized import of a malicious tools.py file, leading to potential system compromise.</description><content:encoded><![CDATA[<p>PraisonAI, a multi-agent teams system, is vulnerable to arbitrary code execution in versions 4.5.138 and below. The vulnerability stems from the automatic and unsanitized import of a <code>tools.py</code> file from the current working directory during application startup. Specifically, components like <code>call.py</code> (via <code>import_tools_from_file()</code>), <code>tool_resolver.py</code> (via <code>_load_local_tools()</code>), and command-line tool loading paths directly import <code>./tools.py</code> without validation, sandboxing, or user confirmation. An attacker capable of placing a malicious <code>tools.py</code> file within the directory where PraisonAI is launched can achieve immediate, arbitrary Python code execution on the host system. This can occur through shared projects, cloned repositories, or writable workspaces. Successful exploitation allows complete control over the PraisonAI process, the host system, and any associated data or credentials. Users are advised to upgrade to version 4.5.139 or later to mitigate this risk.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker identifies a vulnerable PraisonAI instance running version 4.5.138 or below.</li>
<li>Attacker crafts a malicious Python script named <code>tools.py</code> containing arbitrary code.</li>
<li>Attacker gains write access to the directory where PraisonAI is launched. This could be through a compromised shared project, a writable workspace, or other means of file upload.</li>
<li>Attacker places the malicious <code>tools.py</code> file into the PraisonAI launch directory.</li>
<li>PraisonAI is started or restarted, automatically importing and executing the attacker&rsquo;s <code>tools.py</code> file. The <code>call.py</code> or <code>tool_resolver.py</code> components trigger the import process.</li>
<li>The malicious code in <code>tools.py</code> executes within the context of the PraisonAI process.</li>
<li>Attacker achieves arbitrary code execution on the host system, escalating privileges as needed.</li>
<li>Attacker uses the compromised system to steal data, install malware, or pivot to other systems.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation allows attackers to execute arbitrary code on systems running vulnerable versions of PraisonAI. This can lead to complete system compromise, data theft, and potential lateral movement within the network. The vulnerability affects all users of PraisonAI versions 4.5.138 and below. The impact of this vulnerability is high due to the ease of exploitation and the potential for widespread damage.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade PraisonAI to version 4.5.139 or later to patch CVE-2026-40287.</li>
<li>Implement strict file permission controls on the PraisonAI installation directory to prevent unauthorized file creation.</li>
<li>Deploy the Sigma rules provided below to detect suspicious file creation events in PraisonAI working directories.</li>
<li>Enable process monitoring on systems running PraisonAI to detect unexpected Python code execution.</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>praisonai</category><category>code-execution</category><category>cve-2026-40287</category></item><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><item><title>PraisonAI UI Hardcoded Approval Mode Leads to Remote Code Execution</title><link>https://feed.craftedsignal.io/briefs/2024-01-09-praisonai-rce/</link><pubDate>Fri, 10 Apr 2026 19:25:49 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-09-praisonai-rce/</guid><description>A vulnerability in PraisonAI allows authenticated users to execute arbitrary shell commands due to a hardcoded approval setting in the Chainlit UI modules, overriding administrator configurations and bypassing intended approval gates; insufficient command sanitization allows for destructive command execution, leading to confidentiality breach, integrity compromise, and availability impact on the server.</description><content:encoded><![CDATA[<p>PraisonAI is vulnerable to remote code execution due to a misconfiguration in the Chainlit UI modules (<code>chat.py</code> and <code>code.py</code>). Specifically, the application hardcodes <code>config.approval_mode = &quot;auto&quot;</code>, effectively disabling the intended human-in-the-loop approval mechanism for ACP tool executions, even when administrators configure the application to require manual approval. This override occurs after the application loads administrator configurations from the <code>PRAISON_APPROVAL_MODE</code> environment variable. Consequently, an authenticated user, including those using default credentials, can instruct the LLM agent to execute arbitrary single-command shell operations on the server without any approval prompt, subject only to the PraisonAI process’s OS-level permissions. The vulnerability affects PraisonAI versions prior to 4.5.128.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker authenticates to the PraisonAI UI using valid credentials (default admin/admin if unchanged).</li>
<li>The attacker crafts a chat message that instructs the LLM agent to execute a shell command via the <code>acp_execute_command</code> function.</li>
<li>The LLM agent parses the message and prepares the command for execution.</li>
<li>Due to the hardcoded <code>approval_mode = &quot;auto&quot;</code> in <code>chat.py</code> or <code>code.py</code>, the command bypasses the intended approval process in <code>agent_tools.py</code>.</li>
<li>The <code>subprocess.run()</code> function in <code>action_orchestrator.py</code> executes the attacker-controlled command with <code>shell=True</code>.</li>
<li>The command executes with the permissions of the PraisonAI process.</li>
<li>The result of the command execution is returned to the attacker via the chat interface.</li>
<li>The attacker leverages this vulnerability to achieve code execution, data exfiltration, or other malicious objectives.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation allows an authenticated user to execute arbitrary shell commands on the server hosting PraisonAI. This can lead to:</p>
<ul>
<li><strong>Confidentiality breach:</strong> Read sensitive files accessible to the process (e.g., <code>/etc/passwd</code>, application secrets).</li>
<li><strong>Integrity compromise:</strong> Modify or delete files, install backdoors.</li>
<li><strong>Availability impact:</strong> Kill processes, consume resources, delete data.</li>
<li><strong>Administrator control undermined:</strong> The hardcoded <code>approval_mode</code> silently overrides administrator-configured settings, creating a false sense of security.</li>
<li><strong>Prompt injection vector:</strong> Malicious content could trigger command execution through auto-approved tools without direct user intent, especially through external sources like web searches or uploaded files.</li>
</ul>
<p>The vulnerable versions are PraisonAI versions prior to 4.5.128.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li><strong>Upgrade PraisonAI:</strong> Upgrade to version 4.5.128 or later to patch the vulnerability.</li>
<li><strong>Apply Code-Level Fix:</strong> If upgrading is not immediately feasible, manually remove the hardcoded override in <code>chat.py</code> and <code>code.py</code> as described in the advisory.</li>
<li><strong>Implement Allowlisting:</strong> Strengthen command sanitization by implementing an allowlist approach instead of a blocklist in the <code>_sanitize_command()</code> function as described in the advisory.</li>
<li><strong>Monitor Process Creation:</strong> Deploy the Sigma rule &ldquo;Detect Suspicious PraisonAI Command Execution&rdquo; to detect exploitation attempts.</li>
<li><strong>Monitor Network Connections:</strong> Deploy the Sigma rule &ldquo;Detect Suspicious Outbound Connection from PraisonAI&rdquo; to identify potential data exfiltration attempts.</li>
<li><strong>Review Authentication:</strong> Ensure strong passwords are in use and consider multi-factor authentication to mitigate risks from compromised credentials.</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>rce</category><category>command-injection</category><category>praisonai</category></item><item><title>PraisonAI SSRF Vulnerability via Unvalidated Webhook URL</title><link>https://feed.craftedsignal.io/briefs/2024-01-praisonai-ssrf/</link><pubDate>Thu, 09 Apr 2026 22:16:35 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-praisonai-ssrf/</guid><description>PraisonAI versions prior to 4.5.128 are vulnerable to Server-Side Request Forgery (SSRF) due to a lack of URL validation on the webhook_url parameter in the /api/v1/runs endpoint, allowing unauthenticated attackers to send arbitrary POST requests from the server.</description><content:encoded><![CDATA[<p>PraisonAI, a multi-agent teams system, is susceptible to a Server-Side Request Forgery (SSRF) vulnerability affecting versions prior to 4.5.128. The vulnerability resides in the <code>/api/v1/runs</code> endpoint, which accepts a <code>webhook_url</code> parameter in the request body without proper validation. This allows an unauthenticated attacker to specify an arbitrary URL, causing the PraisonAI server to send an HTTP POST request to that URL upon job completion. This flaw enables attackers to target internal services, cloud metadata endpoints, and other network-adjacent resources, potentially leading to information disclosure, privilege escalation, or denial-of-service. Organizations using affected versions of PraisonAI should upgrade to version 4.5.128 or later to mitigate this risk.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An unauthenticated attacker identifies a PraisonAI instance running a version prior to 4.5.128.</li>
<li>The attacker crafts a malicious HTTP POST request to the <code>/api/v1/runs</code> endpoint.</li>
<li>The crafted request includes a <code>webhook_url</code> parameter containing a URL pointing to an internal service, cloud metadata endpoint, or external attacker-controlled server.</li>
<li>The PraisonAI server receives the request and queues a job.</li>
<li>The job completes (either successfully or with an error).</li>
<li>Upon completion, the server, using <code>httpx.AsyncClient</code>, initiates an HTTP POST request to the URL specified in the <code>webhook_url</code> parameter.</li>
<li>If the <code>webhook_url</code> points to an internal service, the attacker can potentially access sensitive information or trigger actions within that service.</li>
<li>If the <code>webhook_url</code> points to a cloud metadata endpoint, the attacker can retrieve cloud credentials or configuration details.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this SSRF vulnerability allows an unauthenticated attacker to force the PraisonAI server to make arbitrary HTTP POST requests. This can lead to the exposure of sensitive information from internal services or cloud metadata, potentially granting the attacker unauthorized access to systems and data. The vulnerability could also be leveraged to perform denial-of-service attacks against internal resources. While the exact number of affected organizations is unknown, any organization running a vulnerable version of PraisonAI is at risk.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade PraisonAI instances to version 4.5.128 or later to remediate CVE-2026-40114.</li>
<li>Inspect web server logs for requests to the <code>/api/v1/runs</code> endpoint containing suspicious <code>webhook_url</code> parameters to detect potential exploitation attempts. Deploy the Sigma rule to detect suspicious webhook URLs.</li>
<li>Monitor network traffic for unexpected outbound connections originating from the PraisonAI server to internal or external destinations, as this could indicate SSRF exploitation.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>ssrf</category><category>praisonai</category><category>cve-2026-40114</category><category>web-application</category></item><item><title>PraisonAI OS Command Injection Vulnerability (CVE-2026-40088)</title><link>https://feed.craftedsignal.io/briefs/2026-04-praisonai-command-injection/</link><pubDate>Thu, 09 Apr 2026 20:16:27 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-04-praisonai-command-injection/</guid><description>PraisonAI versions prior to 4.5.121 are vulnerable to OS command injection, allowing attackers to execute arbitrary shell commands via user-controlled input in agent workflows, YAML definitions, and LLM-generated tool calls.</description><content:encoded><![CDATA[<p>PraisonAI, a multi-agent teams system, is susceptible to OS command injection in versions prior to 4.5.121. The vulnerability, identified as CVE-2026-40088, stems from the <code>execute_command</code> function and workflow shell execution, which improperly handles user-controlled input. Attackers can inject arbitrary shell commands through shell metacharacters via agent workflows, YAML definitions, and LLM-generated tool calls. This can lead to complete system compromise. It is critical to upgrade to version 4.5.121 or later to remediate this vulnerability. The CVSS v3.1 base score for this vulnerability is 9.6, indicating a critical severity.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker crafts a malicious YAML definition or workflow for PraisonAI.</li>
<li>This crafted input contains shell metacharacters designed to inject arbitrary commands.</li>
<li>The user (victim) imports or executes the attacker-supplied YAML or workflow within PraisonAI.</li>
<li>The <code>execute_command</code> function processes the input without proper sanitization.</li>
<li>The injected shell commands are executed by the underlying operating system.</li>
<li>The attacker gains arbitrary code execution privileges on the PraisonAI server.</li>
<li>The attacker can then perform lateral movement, data exfiltration, or system compromise.</li>
<li>The attacker can further leverage the compromised system to target other systems within the network.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of CVE-2026-40088 allows an attacker to execute arbitrary commands on the PraisonAI server. This can lead to complete system compromise, data exfiltration, and potential lateral movement within the network. The severity of this vulnerability is rated as critical with a CVSS v3.1 score of 9.6. This could affect any organization using PraisonAI versions prior to 4.5.121.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Immediately upgrade PraisonAI to version 4.5.121 or later to patch CVE-2026-40088.</li>
<li>Implement input validation and sanitization for all user-supplied data processed by the <code>execute_command</code> function.</li>
<li>Monitor PraisonAI logs for suspicious command execution patterns after upgrading.</li>
<li>Deploy the Sigma rules provided below to detect potential exploitation attempts.</li>
<li>Review and restrict permissions of the PraisonAI service account to minimize the impact of successful command injection.</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>cve-2026-40088</category><category>command-injection</category><category>praisonai</category></item><item><title>PraisonAI Vulnerable to OS Command Injection</title><link>https://feed.craftedsignal.io/briefs/2024-02-29-praisonai-command-injection/</link><pubDate>Wed, 08 Apr 2026 21:52:10 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-02-29-praisonai-command-injection/</guid><description>PraisonAI is vulnerable to OS command injection due to the use of `subprocess.run()` with `shell=True` on user-controlled inputs, allowing attackers to inject arbitrary shell commands and potentially leading to sensitive data exfiltration or system compromise in versions prior to 4.5.121.</description><content:encoded><![CDATA[<p>PraisonAI versions prior to 4.5.121 are susceptible to OS command injection. The vulnerability stems from the application&rsquo;s use of <code>subprocess.run()</code> with the <code>shell=True</code> parameter when executing commands derived from various user-controlled inputs. These inputs include YAML workflow definitions, agent configuration files (agents.yaml), LLM-generated tool call parameters, and recipe step configurations. This configuration allows an attacker to inject arbitrary shell commands through shell metacharacters, leading to potential remote code execution and system compromise. This vulnerability is particularly concerning in automated environments like CI/CD pipelines or agent workflows, where unintended command execution can occur without direct user awareness.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker crafts a malicious YAML workflow definition or modifies an existing one, injecting shell metacharacters into the <code>target</code> field of a <code>shell</code> step.</li>
<li>Alternatively, the attacker modifies the <code>agents.yaml</code> file, injecting malicious commands into the <code>shell_command</code> field of an agent task.</li>
<li>The attacker triggers the execution of the crafted YAML workflow or loads the modified <code>agents.yaml</code> file using PraisonAI&rsquo;s command-line interface.</li>
<li>PraisonAI parses the YAML file and extracts the attacker-controlled command string.</li>
<li>The application then passes this command string to <code>subprocess.run()</code> with <code>shell=True</code>, allowing the shell to interpret the injected metacharacters.</li>
<li>The shell executes the attacker&rsquo;s injected commands, potentially performing actions like reading sensitive files, exfiltrating data, or modifying system configurations.</li>
<li>If using agent mode, an attacker can influence the LLM&rsquo;s context to generate malicious tool calls including shell commands.</li>
<li>The attacker achieves arbitrary code execution with the privileges of the PraisonAI process, leading to system compromise or data breach.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability allows an attacker to execute arbitrary shell commands on the affected system. This can lead to a variety of negative consequences, including unauthorized access to sensitive data (such as configuration files, credentials, or user data), modification or deletion of system files, and potentially full system compromise. In automated environments like CI/CD pipelines, this vulnerability could allow an attacker to inject malicious code into software builds, leading to supply chain attacks. The vulnerability affects versions of PraisonAI prior to 4.5.121.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Deploy the Sigma rule &ldquo;Detect PraisonAI Command Injection via Workflow&rdquo; to identify attempts to exploit this vulnerability through malicious YAML workflow definitions (logsource: <code>process_creation</code>).</li>
<li>Deploy the Sigma rule &ldquo;Detect PraisonAI Command Injection via Agent Configuration&rdquo; to identify attempts to exploit this vulnerability through malicious agent configurations (logsource: <code>process_creation</code>).</li>
<li>Block the C2 domain <code>attacker.com</code> listed in the IOC table at the DNS resolver to prevent data exfiltration and command-and-control communication (type: <code>domain</code>, value: <code>attacker.com</code>).</li>
<li>Upgrade PraisonAI to version 4.5.121 or later to patch this vulnerability (Affected Packages).</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>command-injection</category><category>rce</category><category>praisonai</category></item><item><title>PraisonAI OS Command Injection Vulnerability (CVE-2026-34937)</title><link>https://feed.craftedsignal.io/briefs/2026-04-praisonai-os-command-injection/</link><pubDate>Fri, 03 Apr 2026 23:17:06 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-04-praisonai-os-command-injection/</guid><description>PraisonAI versions prior to 1.5.90 are vulnerable to OS Command Injection (CVE-2026-34937) due to insufficient escaping in the run_python() function, allowing arbitrary OS command execution via shell interpolation.</description><content:encoded><![CDATA[<p>PraisonAI, a multi-agent teams system, is susceptible to an OS command injection vulnerability affecting versions prior to 1.5.90. The vulnerability, identified as CVE-2026-34937, stems from the <code>run_python()</code> function&rsquo;s construction of shell command strings. This function interpolates user-controlled code into a <code>python3 -c &quot;&lt;code&gt;&quot;</code> command and executes it using <code>subprocess.run(..., shell=True)</code>. The inadequate escaping logic, specifically the failure to escape <code>$()</code> and backtick substitutions, enables arbitrary OS command execution prior to Python&rsquo;s invocation. Users of PraisonAI are urged to upgrade to version 1.5.90 or later to mitigate this risk.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker identifies an instance of PraisonAI running a version prior to 1.5.90.</li>
<li>The attacker crafts malicious code containing OS command injection payloads using <code>$()</code> or backticks.</li>
<li>The attacker injects the malicious code into a parameter or input field that is processed by the <code>run_python()</code> function.</li>
<li>The <code>run_python()</code> function constructs the shell command string, interpolating the attacker&rsquo;s malicious code without proper escaping.</li>
<li>The <code>subprocess.run()</code> function executes the crafted shell command with <code>shell=True</code>.</li>
<li>The attacker&rsquo;s OS command is executed on the host system with the privileges of the PraisonAI application.</li>
<li>The attacker gains unauthorized access to the system, potentially enabling data exfiltration, system modification, or denial of service.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability (CVE-2026-34937) allows an attacker to execute arbitrary OS commands on the system running PraisonAI. This could lead to complete system compromise, data breaches, or denial of service. The severity is high because it allows unauthenticated or low-privileged users to gain complete control of the system. Organizations using affected versions of PraisonAI are at risk of significant data loss and reputational damage.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Immediately upgrade PraisonAI to version 1.5.90 or later to patch CVE-2026-34937.</li>
<li>Deploy the Sigma rule &ldquo;Detect PraisonAI OS Command Injection Attempt&rdquo; to your SIEM to identify potential exploitation attempts.</li>
<li>Monitor process creation events for the execution of unexpected processes originating from the PraisonAI application to detect post-exploitation activity.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>cve-2026-34937</category><category>os command injection</category><category>praisonai</category></item><item><title>PraisonAI SubprocessSandbox Shell Escape via sh/bash</title><link>https://feed.craftedsignal.io/briefs/2024-01-03-praisonai-sandbox-escape/</link><pubDate>Wed, 01 Apr 2026 23:26:01 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-03-praisonai-sandbox-escape/</guid><description>PraisonAI's SubprocessSandbox allows attackers to bypass command restrictions due to the use of `shell=True` in `subprocess.run()` combined with an insufficient blocklist that does not include `sh` or `bash`, enabling command execution via `sh -c '&lt;command&gt;'`.</description><content:encoded><![CDATA[<p>PraisonAI&rsquo;s <code>SubprocessSandbox</code>, even in STRICT mode, is vulnerable to a sandbox escape. The vulnerability arises from the use of <code>subprocess.run()</code> with <code>shell=True</code> in <code>sandbox_executor.py</code>, coupled with an insufficient blocklist that fails to include <code>sh</code> and <code>bash</code> as standalone executables. This oversight allows attackers to bypass the intended command restrictions by executing arbitrary commands through <code>sh -c '&lt;command&gt;'</code>.  Versions of PraisonAI up to 4.5.96 are affected. This means that any command blocked by the configured policy can be trivially executed, which could allow agent prompt injection attacks to lead to full system compromise.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker crafts a malicious command to be executed within the PraisonAI environment.</li>
<li>The PraisonAI application receives the crafted command and attempts to execute it within the <code>SubprocessSandbox</code>.</li>
<li>The <code>SubprocessSandbox</code> uses <code>subprocess.run()</code> with <code>shell=True</code> to execute the provided command.</li>
<li>The blocklist in <code>sandbox_executor.py</code> fails to block the <code>sh</code> or <code>bash</code> commands themselves.</li>
<li>The attacker injects shell commands via <code>sh -c '&lt;blocked_command&gt;'</code>, bypassing the string-pattern matching intended to restrict execution.</li>
<li>The <code>sh</code> process executes the attacker&rsquo;s command within the sandbox&rsquo;s context, bypassing the intended security restrictions.</li>
<li>The attacker gains unauthorized access to resources such as network connections, the filesystem, or cloud metadata services.</li>
<li>The attacker escalates privileges and potentially compromises the entire system.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability allows attackers to bypass the intended security restrictions imposed by the PraisonAI <code>SubprocessSandbox</code>, even in its strictest configuration. This could lead to privilege escalation, unauthorized access to sensitive data, and the potential compromise of the entire system. Specifically, an attacker could leverage this escape to access network resources, manipulate the filesystem, or extract sensitive information from cloud metadata services. The lack of effective sandboxing could have severe consequences for environments relying on PraisonAI for secure execution of untrusted code.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Apply the suggested fix of using <code>shlex.split()</code> and <code>shell=False</code> when calling <code>subprocess.run()</code> to prevent shell command injection (reference: suggested fix code block).</li>
<li>Upgrade PraisonAI to a version beyond 4.5.96 to incorporate the patch for CVE-2026-34955 (reference: CVE-2026-34955).</li>
<li>Deploy the provided Sigma rule to detect the execution of <code>sh</code> or <code>bash</code> with the <code>-c</code> option, which is indicative of attempts to bypass command restrictions (reference: Sigma rule &ldquo;Detect sh/bash Command Execution with -c Option&rdquo;).</li>
<li>Implement a more comprehensive blocklist that includes <code>sh</code> and <code>bash</code> as standalone executables in addition to dangerous patterns (reference: <code>sandbox_executor.py:179</code>).</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>sandbox-escape</category><category>command-injection</category><category>praisonai</category></item><item><title>PraisonAI SSRF Vulnerability via Unvalidated api_base Parameter</title><link>https://feed.craftedsignal.io/briefs/2026-04-praisonai-ssrf/</link><pubDate>Wed, 01 Apr 2026 23:22:44 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-04-praisonai-ssrf/</guid><description>PraisonAI versions 4.5.89 and earlier are vulnerable to SSRF via the `api_base` parameter in the `passthrough()` function, allowing attackers to make requests to internal services or external hosts, potentially leading to IAM credential theft on cloud infrastructure or access to internal services within the VPC.</description><content:encoded><![CDATA[<p>PraisonAI versions 4.5.89 and earlier are vulnerable to a Server-Side Request Forgery (SSRF) vulnerability (CVE-2026-34936) due to insufficient validation of the <code>api_base</code> parameter within the <code>passthrough()</code> function. This flaw allows an attacker to control the base URL used in HTTP requests, enabling them to target internal services, external hosts, or cloud metadata endpoints. The vulnerability arises because the <code>api_base</code> parameter is directly concatenated with the <code>endpoint</code> parameter and passed to <code>httpx.Client.request()</code> without any sanitization. This is triggered in the <code>passthrough()</code> function if the <code>litellm</code> primary path raises an <code>AttributeError</code>. This allows attackers to bypass intended access controls and potentially retrieve sensitive information or trigger unintended actions within the PraisonAI server&rsquo;s network. The vulnerability was reported on April 1, 2026.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker identifies a PraisonAI instance running a vulnerable version (&lt;= 4.5.89).</li>
<li>The attacker crafts a malicious request to the <code>passthrough()</code> function, providing a crafted <code>api_base</code> parameter.</li>
<li>The crafted <code>api_base</code> contains the address of an internal service (e.g., Redis, Elasticsearch, Kubernetes API) or the EC2 metadata service (<code>http://169.254.169.254</code>).</li>
<li>An <code>AttributeError</code> is triggered in the <code>litellm</code> primary path.</li>
<li>The <code>passthrough()</code> function, within <code>passthrough.py</code>, concatenates the attacker-controlled <code>api_base</code> with the specified <code>endpoint</code>.</li>
<li>The resulting URL is then passed to <code>httpx.Client.request()</code>, making an HTTP request to the attacker-specified destination.</li>
<li>If targeting the EC2 metadata service, the attacker can retrieve IAM credentials associated with the instance.</li>
<li>If targeting internal services, the attacker can potentially access sensitive data or perform unauthorized actions, due to the default <code>AUTH_ENABLED = False</code> setting.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this SSRF vulnerability can lead to serious consequences. On cloud infrastructure, attackers can steal IAM credentials from the EC2 metadata service (IMDSv1), potentially gaining control over the entire AWS account. Internal services within the VPC, such as Redis, Elasticsearch, and Kubernetes API, become accessible without authentication, as the Flask API server deploys with <code>AUTH_ENABLED = False</code> by default. This can lead to data breaches, service disruptions, or further lateral movement within the internal network. This vulnerability affects deployments of PraisonAI version 4.5.89 and earlier.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade PraisonAI to a version greater than 4.5.89 to patch CVE-2026-34936.</li>
<li>Implement input validation and sanitization on the <code>api_base</code> parameter within the <code>passthrough()</code> function to prevent SSRF attacks.</li>
<li>If running on AWS, disable IMDSv1 and migrate to IMDSv2 to mitigate the risk of IAM credential theft.</li>
<li>Implement network segmentation and access controls to restrict access to internal services from the PraisonAI server.</li>
<li>Deploy the following Sigma rule to detect attempts to exploit the SSRF vulnerability by monitoring for connections to the EC2 metadata service or the local loopback address.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>ssrf</category><category>praisonai</category><category>cloud</category></item></channel></rss>