<?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/" xmlns:webfeeds="http://webfeeds.org/rss/1.0"><channel><title>Insecure-Design - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/tags/insecure-design/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata. Fed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Tue, 25 Aug 2026 16:02:43 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/tags/insecure-design/feed.xml" rel="self" type="application/rss+xml"/><image><url>https://feed.craftedsignal.io/favicon-32x32.png</url><title>CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/</link><width>32</width><height>32</height></image><webfeeds:icon>https://feed.craftedsignal.io/favicon.svg</webfeeds:icon><item><title>Arbitrary File Write Vulnerability in PraisonAI Agents</title><link>https://feed.craftedsignal.io/briefs/2026-08-praisonaiagents-path-traversal/</link><pubDate>Tue, 25 Aug 2026 16:02:43 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-08-praisonaiagents-path-traversal/</guid><description>The FileMemory component in praisonaiagents versions 1.6.52 and earlier fails to sanitize user-supplied identifiers, enabling path traversal attacks that result in arbitrary JSON file creation or overwriting.</description><content:encoded><![CDATA[<p>PraisonAI Agents (up to version 1.6.52) contains a critical path traversal vulnerability within the <code>FileMemory</code> component, located in <code>praisonaiagents/memory/file_memory.py</code>. The <code>__init__</code> method accepts a <code>user_id</code> parameter that is directly joined to a base directory without validation or normalization. An attacker able to influence this parameter - through direct API calls, agent configurations, or submitted job manifests - can inject path traversal sequences such as <code>../</code>. This allows the application to write files to arbitrary locations on the host filesystem that the process has permissions to access. The vulnerability persists in the <code>main</code> branch and is distinct from previously reported issues, posing a significant risk for file manipulation, system configuration corruption, or denial-of-service attacks.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker crafts a malicious input containing a traversal payload (e.g., <code>user_id: &quot;../../etc/cron.d/malicious&quot;</code>) within an agent job submission.</li>
<li>The <code>agents_generator.py</code> service parses the user-submitted <code>agent_yaml</code> and extracts the memory configuration.</li>
<li>The <code>Agent</code> constructor is invoked, passing the attacker-controlled <code>user_id</code> to the <code>FileMemory</code> class.</li>
<li>The <code>FileMemory.__init__</code> method concatenates the malicious <code>user_id</code> with the <code>base_path</code> using Python's <code>pathlib</code> join operator.</li>
<li>The application calls <code>mkdir</code> on the constructed path, creating the directory structure on the filesystem if it does not exist.</li>
<li>The <code>FileMemory</code> instance performs file operations (e.g., <code>add_short_term</code>), resulting in the creation of JSON files (e.g., <code>short_term.json</code>) at the attacker-specified target location.</li>
<li>Successful execution results in unauthorized file writes, potentially allowing an attacker to overwrite sensitive system configurations or package files.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation allows attackers to perform arbitrary file writes on the host system running the PraisonAI service. Impacts include Denial of Service by disk filling, overwriting critical application configuration files to alter runtime behavior, or attempting to leverage the file write to achieve persistence or code execution by overwriting startup scripts, cron tasks, or system files if the service process runs with sufficient privileges. This is particularly critical in multi-tenant environments where one user could overwrite the memory data or configurations belonging to another user.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade <code>praisonaiagents</code> to version 1.6.58 or later to incorporate necessary sanitization patches.</li>
<li>Implement strict input validation on <code>user_id</code> parameters in any application code interacting with <code>FileMemory</code> to ensure they only contain alphanumeric characters, underscores, and hyphens.</li>
<li>Apply the principle of least privilege to the service account executing PraisonAI agents to minimize the impact of arbitrary file writes on system-level directories.</li>
<li>If immediate patching is not possible, implement a proxy or validation layer to scan <code>agent_yaml</code> inputs for directory traversal patterns before processing.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>vulnerability</category><category>path-traversal</category><category>python</category><category>ssrf</category><category>praisonaiagents</category><category>cloud-security</category><category>authentication-bypass</category><category>insecure-design</category><category>api-security</category></item></channel></rss>