<?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>Pip — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/vendors/pip/</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, 08 Nov 2024 12:00:00 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/vendors/pip/feed.xml" rel="self" type="application/rss+xml"/><item><title>LiteLLM Proxy API Key Verification SQL Injection</title><link>https://feed.craftedsignal.io/briefs/2024-11-litellm-sqli/</link><pubDate>Fri, 08 Nov 2024 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-11-litellm-sqli/</guid><description>A SQL injection vulnerability exists in LiteLLM versions 1.81.16 to prior to 1.83.7 allowing an unauthenticated attacker to inject SQL queries via a crafted 'Authorization' header, potentially leading to unauthorized data access or modification.</description><content:encoded><![CDATA[<p>A critical SQL injection vulnerability has been identified in LiteLLM, specifically affecting versions 1.81.16 through 1.83.6. The vulnerability resides within the proxy API key verification process. Due to improper sanitization of the <code>Authorization</code> header, an unauthenticated attacker can inject arbitrary SQL commands. This is achieved by sending a specially crafted header to any LLM API route, such as <code>POST /chat/completions</code>, which triggers the vulnerable query through the proxy&rsquo;s error-handling mechanism. Defenders should prioritize patching to version 1.83.7 or later to mitigate this risk, or implement the suggested workaround.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>The attacker sends a crafted HTTP <code>Authorization</code> header to a LiteLLM API endpoint (e.g., <code>/chat/completions</code>).</li>
<li>The LiteLLM proxy receives the request and extracts the API key from the <code>Authorization</code> header.</li>
<li>Due to insufficient sanitization, the API key value is directly concatenated into a SQL query string.</li>
<li>The vulnerable SQL query is executed against the proxy&rsquo;s database.</li>
<li>The attacker injects SQL code to read sensitive data, such as user credentials or API keys, from the database.</li>
<li>The attacker may further inject SQL code to modify data, potentially granting themselves administrative privileges or compromising other users&rsquo; accounts.</li>
<li>The attacker gains unauthorized access to the LiteLLM proxy.</li>
<li>The attacker leverages the compromised proxy to access and control connected LLMs, exfiltrate data, or disrupt services.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this SQL injection vulnerability can lead to complete compromise of the LiteLLM proxy. Attackers could read or modify sensitive data within the proxy&rsquo;s database, including API keys and credentials. This could lead to unauthorized access to managed LLMs and potentially allow attackers to exfiltrate sensitive data, disrupt services, or gain a foothold for further attacks within the compromised environment. The impact is significant due to the potential for widespread data breaches and service disruptions.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade LiteLLM to version 1.83.7 or later to patch the SQL injection vulnerability as detailed in the advisory <a href="https://github.com/advisories/GHSA-r75f-5x8p-qvmc">GHSA-r75f-5x8p-qvmc</a>.</li>
<li>If upgrading is not immediately feasible, set <code>disable_error_logs: true</code> in the <code>general_settings</code> configuration to mitigate the risk as described in the advisory <a href="https://github.com/advisories/GHSA-r75f-5x8p-qvmc">GHSA-r75f-5x8p-qvmc</a>.</li>
<li>Monitor web server logs for suspicious <code>Authorization</code> headers containing SQL injection payloads to detect potential exploitation attempts. Deploy the provided Sigma rule targeting HTTP request patterns.</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>sqli</category><category>litellm</category><category>web-application</category></item><item><title>GitPython Vulnerability Allows Arbitrary Code Execution via Git Hooks</title><link>https://feed.craftedsignal.io/briefs/2024-01-23-gitpython-hook-execution/</link><pubDate>Tue, 23 Jan 2024 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-23-gitpython-hook-execution/</guid><description>A vulnerability in GitPython versions prior to 3.1.47 allows for command execution during repository cloning by manipulating the `multi_options` parameter to inject malicious Git configurations, such as `core.hooksPath`, leading to the execution of attacker-controlled hooks.</description><content:encoded><![CDATA[<p>GitPython before version 3.1.47 is susceptible to a command execution vulnerability. The issue stems from how the <code>_clone()</code> function validates the <code>multi_options</code> parameter used in the <code>clone_from()</code>, <code>clone()</code>, or <code>Submodule.update()</code> methods. Specifically, the validation occurs on the original list of options before the <code>shlex.split</code> transformation. This allows an attacker to craft a string like <code>&quot;--branch main --config core.hooksPath=/x&quot;</code> which passes the initial validation because it starts with a safe option (<code>--branch</code>). However, after the string is split into tokens, the <code>--config</code> option becomes active, allowing the attacker to inject a malicious <code>core.hooksPath</code> configuration. This configuration points Git to a directory containing attacker-controlled Git hooks, which are then executed during the clone operation. This vulnerability is similar in nature to CVE-2023-40267.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker identifies a vulnerable application using GitPython to clone repositories.</li>
<li>The attacker crafts a malicious string containing a Git configuration option, such as <code>--config core.hooksPath=/path/to/malicious/hooks</code>, embedded within a seemingly benign option string like <code>--branch main --config core.hooksPath=/path/to/malicious/hooks</code>.</li>
<li>The attacker injects this malicious string into the <code>multi_options</code> parameter of the <code>clone_from()</code>, <code>clone()</code>, or <code>Submodule.update()</code> methods.</li>
<li>GitPython&rsquo;s <code>_clone()</code> function validates the <code>multi_options</code> parameter using <code>Git.check_unsafe_options()</code> <em>before</em> it is processed by <code>shlex.split()</code>.</li>
<li>Because the malicious string starts with a safe option (<code>--branch</code>), it bypasses the validation check.</li>
<li>The <code>shlex.split()</code> function then transforms the string into a list of individual options, making the <code>--config</code> option active.</li>
<li>The <code>git clone</code> command is executed with the injected <code>--config core.hooksPath=/path/to/malicious/hooks</code> option, causing Git to use the attacker-controlled directory for Git hooks.</li>
<li>Git executes the malicious hooks (e.g., <code>post-checkout</code>), resulting in arbitrary code execution on the victim&rsquo;s machine.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability allows an attacker to execute arbitrary code on the system where the GitPython library is used. Any application that passes user-supplied input to the <code>multi_options</code> parameter of the affected functions is vulnerable. This can lead to complete system compromise, data exfiltration, or denial of service. The vulnerability affects GitPython versions prior to 3.1.47.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade GitPython to version 3.1.47 or later to patch the vulnerability (Affected Packages).</li>
<li>Implement input validation and sanitization for any user-supplied input used to construct the <code>multi_options</code> parameter to prevent injection of malicious Git configurations (Code).</li>
<li>Monitor process creation events for the execution of unexpected processes from directories specified as <code>core.hooksPath</code> (see Sigma rule <code>Detect Suspicious Git Hook Execution</code>).</li>
<li>Deploy the Sigma rules in this brief to your SIEM and tune for your environment.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>gitpython</category><category>code-execution</category><category>git-hooks</category><category>command-injection</category></item><item><title>GitPython Command Injection Vulnerability</title><link>https://feed.craftedsignal.io/briefs/2024-01-09-gitpython-cmd-injection/</link><pubDate>Tue, 09 Jan 2024 10:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-09-gitpython-cmd-injection/</guid><description>GitPython versions 3.1.30 through 3.1.46 are vulnerable to command injection by passing attacker-controlled kwargs into `Repo.clone_from()`, `Remote.fetch()`, `Remote.pull()`, or `Remote.push()`, leading to arbitrary command execution due to bypassed safety checks.</description><content:encoded><![CDATA[<p>GitPython, a library providing programmatic interaction with Git repositories, is susceptible to a command injection vulnerability in versions 3.1.30 to 3.1.46. The vulnerability stems from insufficient validation of keyword arguments (kwargs) passed to functions like <code>Repo.clone_from()</code>, <code>Remote.fetch()</code>, <code>Remote.pull()</code>, and <code>Remote.push()</code>. Specifically, when underscore-form kwargs (e.g., <code>upload_pack</code>) are used, they bypass the intended safety checks designed to prevent the execution of arbitrary commands via Git options like <code>--upload-pack</code>. This occurs because the validation logic only checks for hyphenated forms (e.g., <code>upload-pack</code>). Attackers can exploit this by injecting malicious commands through these kwargs, even when <code>allow_unsafe_options</code> is set to its default value of <code>False</code>. This issue was reported on April 25, 2026.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker identifies a web application or system that uses GitPython to manage Git repositories.</li>
<li>The attacker finds an endpoint or function where they can control kwargs passed to <code>Repo.clone_from()</code>, <code>Remote.fetch()</code>, <code>Remote.pull()</code>, or <code>Remote.push()</code>.</li>
<li>The attacker crafts a malicious payload, using underscore-form kwargs such as <code>upload_pack</code> or <code>receive_pack</code>, setting their value to a command they want to execute (e.g., a shell script path or a direct command).</li>
<li>The application or system, using a vulnerable version of GitPython, receives these kwargs and bypasses the intended safety check.</li>
<li>GitPython&rsquo;s <code>Git.transform_kwarg()</code> method converts the underscore-form kwargs into their corresponding hyphenated Git options (e.g., <code>upload_pack</code> becomes <code>--upload-pack</code>).</li>
<li>The Git command is executed with the attacker-controlled option, leading to arbitrary command execution on the system.</li>
<li>The attacker gains unauthorized access, potentially stealing credentials, modifying repositories, or moving laterally within the network.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability can lead to severe consequences, especially in web applications, CI/CD systems, and automation tools that rely on GitPython for repository management. Attackers could steal SSH keys, API tokens, cloud credentials, or other sensitive information. They could also modify repositories, build outputs, or release artifacts, leading to supply chain attacks. In CI/CD environments, this vulnerability could enable lateral movement from worker nodes or compromise the entire automation infrastructure. The number of affected systems depends on the prevalence of vulnerable GitPython versions in exposed applications.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade GitPython to version 3.1.47 or later to remediate the vulnerability (affected_products).</li>
<li>Review code that uses <code>Repo.clone_from()</code>, <code>Remote.fetch()</code>, <code>Remote.pull()</code>, or <code>Remote.push()</code> and ensure that kwargs are properly validated to prevent attacker-controlled input (references).</li>
<li>Implement input validation to block underscore-form kwargs such as <code>upload_pack</code> or <code>receive_pack</code> before they are passed to GitPython functions (references).</li>
<li>Deploy the Sigma rule <code>Detect GitPython Kwarg Command Injection</code> to identify potential exploitation attempts in application logs (rules).</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>command-injection</category><category>gitpython</category><category>vulnerability</category></item><item><title>pyp2spec Code Injection Vulnerability</title><link>https://feed.craftedsignal.io/briefs/2024-01-pyp2spec-code-injection/</link><pubDate>Wed, 03 Jan 2024 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-pyp2spec-code-injection/</guid><description>pyp2spec before 0.14.1 is vulnerable to code injection by writing PyPI package metadata into generated spec files without escaping RPM macro directives, allowing malicious packages to execute arbitrary commands on the build machine.</description><content:encoded><![CDATA[<p>pyp2spec, a tool for generating RPM spec files from PyPI packages, contains a code injection vulnerability affecting versions prior to 0.14.1. The vulnerability stems from the tool&rsquo;s failure to properly escape RPM macro directives when writing PyPI package metadata (such as the summary field) into the generated spec file. This allows a malicious PyPI package to inject arbitrary commands into the spec file, which are then executed when an RPM tool processes the file. This poses a significant risk to package maintainers and build systems, particularly within the Fedora ecosystem where compromised credentials can lead to widespread supply chain attacks. The realistic attack vector involves typosquatting or targeting packages known to be under review.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker crafts a malicious PyPI package containing specially formatted metadata, including an RPM macro directive (e.g., within the package summary).</li>
<li>A Fedora packager, intending to package a legitimate Python package, uses <code>pyp2spec</code> to generate an RPM spec file from the malicious PyPI package.</li>
<li><code>pyp2spec</code> writes the attacker-controlled metadata, including the unescaped RPM macro directive, into the generated spec file.</li>
<li>The packager, or an automated system, uses an RPM tool like <code>rpmbuild -bs</code>, <code>rpmbuild --nobuild</code>, or <code>rpm -q --specfile</code> to inspect or build the package from the spec file.</li>
<li>The RPM tool parses the spec file and, upon encountering the RPM macro directive, executes the embedded command.</li>
<li>The attacker&rsquo;s command executes on the build machine, potentially granting the attacker access to the packager&rsquo;s credentials (dist-git SSH keys, Koji build credentials, Bodhi update credentials).</li>
<li>The attacker uses the compromised credentials to commit malicious source code to the distribution&rsquo;s Git repository (dist-git).</li>
<li>The malicious code is built and distributed to end users through the normal package update pipeline, resulting in a supply chain attack.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation allows attackers to execute arbitrary commands on the build machine. This can lead to the compromise of sensitive credentials, such as SSH keys and build system credentials. In the Fedora ecosystem, this could enable an attacker to inject malicious code into packages that are distributed to end users, potentially affecting millions of systems. The vulnerability poses a high risk to package maintainers and build systems.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade to <code>pyp2spec</code> version 0.14.1 or later to remediate the code injection vulnerability as described in the advisory (<a href="https://github.com/advisories/GHSA-r35x-v8p8-xvhw)">https://github.com/advisories/GHSA-r35x-v8p8-xvhw)</a>.</li>
<li>Implement file integrity monitoring on RPM spec files, alerting on unexpected modifications, to detect potentially malicious injected code. Use file_event logs with a rule like the one below.</li>
<li>Monitor process executions originating from RPM tools (<code>rpmbuild</code>, <code>rpm</code>), focusing on unusual or unexpected commands that could indicate exploitation, using process_creation logs and the Sigma rule provided.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>code-injection</category><category>supply-chain</category><category>rpm</category><category>linux</category></item><item><title>LiteLLM Authenticated Command Execution via MCP stdio Test Endpoints</title><link>https://feed.craftedsignal.io/briefs/2024-01-litellm-rce/</link><pubDate>Wed, 03 Jan 2024 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-litellm-rce/</guid><description>Authenticated users with low-privilege API keys could execute arbitrary commands on the host running LiteLLM via the `/mcp-rest/test/connection` and `/mcp-rest/test/tools/list` endpoints, by submitting a server configuration including command execution parameters.</description><content:encoded><![CDATA[<p>LiteLLM versions 1.74.2 through 1.83.6 are vulnerable to authenticated command execution. Two endpoints, <code>POST /mcp-rest/test/connection</code> and <code>POST /mcp-rest/test/tools/list</code>, intended for previewing MCP server configurations, allowed any authenticated user to execute arbitrary commands on the proxy host. This was possible because the endpoints accepted a full server configuration in the request body, including the <code>command</code>, <code>args</code>, and <code>env</code> fields used by the stdio transport, without proper role checks. An attacker could exploit this vulnerability by using a low-privilege API key to send a crafted request containing malicious commands, leading to command execution with the privileges of the proxy process. The vulnerability was patched in version 1.83.7 by enforcing the <code>PROXY_ADMIN</code> role for these endpoints.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker authenticates to the LiteLLM proxy with a valid, but low-privilege, API key.</li>
<li>Attacker crafts a malicious JSON payload containing a server configuration intended for the stdio transport. The payload includes the <code>command</code>, <code>args</code>, and <code>env</code> fields, which specify the command to be executed, its arguments, and environment variables, respectively.</li>
<li>Attacker sends a <code>POST</code> request to either the <code>/mcp-rest/test/connection</code> or <code>/mcp-rest/test/tools/list</code> endpoint, with the malicious JSON payload in the request body.</li>
<li>The LiteLLM proxy receives the request and, due to the vulnerability, attempts to connect to the supplied server configuration.</li>
<li>The proxy spawns the supplied command as a subprocess on the proxy host, using the privileges of the proxy process.</li>
<li>The attacker-supplied command executes arbitrary code on the host.</li>
<li>The attacker gains control of the proxy host with the privileges of the LiteLLM proxy.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability allows an attacker to execute arbitrary commands on the host running the LiteLLM proxy. Since the vulnerability can be exploited with a low-privilege API key, this significantly broadens the attack surface. Depending on the privileges of the proxy process, this could lead to full system compromise, data exfiltration, or denial of service. The lack of specific victim count or sector targeting information in the advisory suggests a broad potential impact across various deployments of LiteLLM.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade LiteLLM to version 1.83.7 or later to remediate the vulnerability (see Patches).</li>
<li>As a temporary workaround, block <code>POST</code> requests to the <code>/mcp-rest/test/connection</code> and <code>/mcp-rest/test/tools/list</code> endpoints at your reverse proxy or API gateway (see Workarounds).</li>
<li>Monitor web server logs for <code>POST</code> requests to <code>/mcp-rest/test/connection</code> and <code>/mcp-rest/test/tools/list</code> endpoints, looking for suspicious <code>command</code>, <code>args</code>, and <code>env</code> parameters in the request body (see rules below).</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>rce</category><category>litellm</category><category>command-injection</category></item><item><title>CKAN Unauthenticated SQL Injection in datastore_search_sql</title><link>https://feed.craftedsignal.io/briefs/2024-01-ckan-sql-injection/</link><pubDate>Wed, 03 Jan 2024 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-ckan-sql-injection/</guid><description>An unauthenticated SQL injection vulnerability in CKAN's `datastore_search_sql` function allows attackers to access private resources and PostgreSQL system information, affecting versions prior to 2.10.10 and versions 2.11.0 through 2.11.4.</description><content:encoded><![CDATA[<p>A critical SQL injection vulnerability exists within the <code>datastore_search_sql</code> function of CKAN, an open-source data management system. This vulnerability allows unauthenticated attackers to inject arbitrary SQL queries, potentially leading to unauthorized access to sensitive data, including private resources and PostgreSQL system information. The vulnerability affects CKAN versions prior to 2.10.10 and versions 2.11.0 up to and including 2.11.4.  Successful exploitation can compromise the confidentiality and integrity of the CKAN instance and its underlying database. The issue was reported by Arvin Shivram of Brutecat Security and patched in CKAN versions 2.10.10 and 2.11.5.  Organizations using vulnerable versions of CKAN are at risk of data breaches and unauthorized access to critical system information.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>The attacker identifies a CKAN instance running a vulnerable version (prior to 2.10.10 or 2.11.0-2.11.4).</li>
<li>The attacker crafts a malicious HTTP request targeting the <code>datastore_search_sql</code> endpoint.</li>
<li>The malicious request contains a SQL injection payload within the parameters expected by <code>datastore_search_sql</code>.</li>
<li>CKAN&rsquo;s <code>datastore_search_sql</code> function fails to properly sanitize the input, allowing the injected SQL code to be executed against the PostgreSQL database.</li>
<li>The injected SQL query retrieves sensitive data, such as private resource information, user credentials, or PostgreSQL system details.</li>
<li>The attacker extracts the compromised data from the HTTP response.</li>
<li>The attacker may use the compromised credentials to gain further access to the CKAN instance and its associated systems.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this SQL injection vulnerability can lead to unauthorized access to sensitive data stored within the CKAN DataStore, including private resources and user credentials. Attackers can also gain access to PostgreSQL system information, potentially leading to further system compromise. The number of affected organizations is unknown, but any organization running a vulnerable version of CKAN is at risk. If successful, the attack can lead to data breaches, financial losses, and reputational damage.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade CKAN instances to version 2.10.10 or 2.11.5 to remediate CVE-2026-42031.</li>
<li>As a temporary workaround, disable the DataStore SQL search by setting <code>ckan.datastore.sqlsearch.enabled = false</code> in the CKAN configuration, as mentioned in the overview.</li>
<li>Monitor web server logs for suspicious requests targeting the <code>datastore_search_sql</code> endpoint, looking for SQL syntax within the query parameters using the Sigma rules provided below.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>ckan</category><category>sql-injection</category><category>vulnerability</category></item><item><title>Pipecat Remote Code Execution via Pickle Deserialization in LivekitFrameSerializer</title><link>https://feed.craftedsignal.io/briefs/2024-01-pipecat-rce/</link><pubDate>Tue, 02 Jan 2024 10:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-pipecat-rce/</guid><description>A critical vulnerability, CVE-2025-62373, exists in Pipecat's LivekitFrameSerializer where the deserialize() method uses Python's pickle.loads() on WebSocket data without validation, allowing a malicious WebSocket client to execute arbitrary code on the Pipecat server if LivekitFrameSerializer is explicitly enabled.</description><content:encoded><![CDATA[<p>A critical vulnerability (CVE-2025-62373) exists in Pipecat&rsquo;s <code>LivekitFrameSerializer</code>, an optional, non-default, and now deprecated frame serializer class intended for LiveKit integration. The <code>deserialize()</code> method in <code>src/pipecat/serializers/livekit.py</code> uses Python&rsquo;s <code>pickle.loads()</code> on data received from WebSocket clients without validation or sanitization. This allows a malicious WebSocket client to send a crafted pickle payload to execute arbitrary code on the Pipecat server. While <code>LivekitFrameSerializer</code> is not enabled by default and was deprecated in version 0.0.90 in favor of the safer <code>LiveKitTransport</code> method, it remains in the codebase and could be inadvertently used, posing a severe risk if a Pipecat server is configured to use it and is listening on an external interface.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker identifies a Pipecat server with an exposed WebSocket endpoint (e.g., listening on 0.0.0.0:8765) using the vulnerable <code>LivekitFrameSerializer</code>.</li>
<li>Attacker crafts a malicious Python pickle payload. This payload contains instructions to execute arbitrary code on the server, using techniques like defining a class with a <code>__reduce__</code> method that calls <code>os.system()</code>.</li>
<li>Attacker establishes a WebSocket connection to the Pipecat server.</li>
<li>Attacker sends the crafted pickle payload as a WebSocket message to the server.</li>
<li>The Pipecat server receives the message and passes the data to the <code>LivekitFrameSerializer.deserialize()</code> method.</li>
<li>The <code>deserialize()</code> method calls <code>pickle.loads()</code> on the attacker-controlled data without proper validation.</li>
<li><code>pickle.loads()</code> deserializes the malicious pickle object, triggering the execution of the attacker&rsquo;s code on the server with the privileges of the Pipecat process.</li>
<li>Attacker achieves remote code execution, potentially leading to full compromise of the server, including data exfiltration, malware installation, or pivoting to other systems.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability, CVE-2025-62373, allows an attacker to achieve remote code execution on the Pipecat server. If an application uses <code>LivekitFrameSerializer</code> and exposes the Pipecat WebSocket server to untrusted networks, an attacker can completely compromise the server. This could lead to the execution of operating system commands, data modification, malware installation, or pivoting to other systems. The vulnerability is critical because any code execution flaw in a real-time communications server context poses a high risk.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Immediately stop using the <code>LivekitFrameSerializer</code> due to its use of unsafe pickle deserialization. Migrate to the recommended <code>LiveKitTransport</code> or other secure methods provided by the Pipecat framework (see Overview).</li>
<li>Update Pipecat to a version &gt;= 0.0.94 to receive the deprecation warning.</li>
<li>If you must support LiveKit integration or binary frame serialization, use safer alternatives like JSON, Protocol Buffers, or MessagePack.</li>
<li>Bind the Pipecat service to localhost (127.0.0.1) whenever possible to prevent external network access as mentioned in the Overview.</li>
<li>Implement authentication and authorization on the WebSocket connection to restrict who can send data to the server, as described in the Mitigation section.</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>remote code execution</category><category>deserialization</category><category>pipecat</category></item></channel></rss>