<?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>Pipecat-Ai — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/vendors/pipecat-ai/</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>Fri, 15 May 2026 16:55:27 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/vendors/pipecat-ai/feed.xml" rel="self" type="application/rss+xml"/><item><title>Pipecat Path Traversal Vulnerability in `/files` Endpoint (CVE-2026-44716)</title><link>https://feed.craftedsignal.io/briefs/2026-05-pipecat-path-traversal/</link><pubDate>Fri, 15 May 2026 16:55:27 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-05-pipecat-path-traversal/</guid><description>Pipecat's development runner has a path traversal vulnerability in the `/files` endpoint due to lack of input validation when handling the filename parameter, allowing an unauthenticated attacker with network access to read arbitrary files on the server using `%2F`-encoded separators.</description><content:encoded><![CDATA[<p>A path traversal vulnerability exists in Pipecat&rsquo;s development runner (<code>src/pipecat/runner/run.py</code>) within the <code>/files</code> endpoint. When the runner is started with the <code>--folder</code> flag, it exposes a <code>GET /files/{filename:path}</code> endpoint. The <code>filename</code> path parameter is vulnerable to directory traversal because it&rsquo;s directly concatenated with <code>args.folder</code> without proper sanitization. Starlette&rsquo;s path normalization is bypassed using <code>%2F</code>-encoded slashes. An attacker can read any file the pipecat process has permission to access, including SSH private keys, credentials, and system files, with a single unauthenticated HTTP request. This vulnerability affects pipecat-ai versions &gt;= 0.0.90 and &lt; 1.2.0, and has been confirmed on version 1.1.0.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>The Pipecat runner is started with the <code>--folder</code> option, specifying a directory for file downloads.</li>
<li>The runner exposes a <code>GET /files/{filename:path}</code> endpoint.</li>
<li>The attacker crafts a malicious URL with <code>%2F</code>-encoded directory separators (e.g., <code>..%2F..%2Fetc%2Fpasswd</code>).</li>
<li>The attacker sends an unauthenticated HTTP GET request to the runner&rsquo;s <code>/files</code> endpoint with the crafted URL.</li>
<li>Starlette&rsquo;s router matches the route, and the <code>%2F</code>-encoded characters are decoded within the <code>filename</code> parameter <em>after</em> routing.</li>
<li>The application concatenates the decoded <code>filename</code> parameter with the <code>--folder</code> path without proper validation or sanitization.</li>
<li>The <code>os.path.exists()</code> check succeeds because the resolved path (e.g., <code>/etc/passwd</code>) exists on the system.</li>
<li>The requested file content is returned in the HTTP response, allowing the attacker to read arbitrary files.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation allows an attacker with network access to the runner to read arbitrary files on the server. This includes sensitive information such as SSH private keys, application credentials, <code>.env</code> files, database files, and system files (e.g., <code>/etc/passwd</code>). In LAN deployments where the runner is exposed on the local network, any host can exploit this without credentials, leading to potential data breaches and system compromise.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Apply the remediation steps outlined in the advisory by patching or upgrading pipecat-ai to version 1.2.0 or later to resolve CVE-2026-44716.</li>
<li>Deploy the Sigma rule &ldquo;Detect Pipecat Path Traversal Attempt via URL Encoding&rdquo; to identify exploitation attempts in web server logs.</li>
<li>Monitor network traffic for HTTP requests to the <code>/files</code> endpoint containing <code>%2F</code>-encoded characters in the URL to detect potential path traversal attacks.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>path-traversal</category><category>web-application</category><category>python</category><category>cve-2026-44716</category></item></channel></rss>