CVE-2025-66455: CWE-502: Deserialization of Untrusted Data in InternLM lmdeploy
LMDeploy is a toolkit for compressing, deploying, and serving large language models. Starting in version 0.9.2 and prior to version 0.16.0, LMDeploy's PyTorch DistServe/PD-disaggregation control plane used `recv_pyobj()` to deserialize messages received through a ZeroMQ PULL socket. PyZMQ implements `recv_pyobj()` using Python pickle deserialization, which can execute arbitrary code while reconstructing an object. The peer address used by the receiver was supplied through the `POST /distserve/p2p_connect` HTTP endpoint. An attacker who could reach an affected DistServe API server could cause the server to connect to an attacker-controlled ZeroMQ endpoint and deserialize a crafted pickle payload. API-key authentication is not enabled unless the operator explicitly configures it. As a result, affected DistServe deployments without API keys allowed unauthenticated remote code execution with the privileges of the LMDeploy serving process. This issue affects the PyTorch backend when PD-disaggregation/DistServe is enabled. Ordinary deployments that do not use the affected disaggregated-serving path do not expose this data flow. The fix was released in LMDeploy 0.16.0. Users who cannot upgrade immediately should prevent untrusted clients from reaching `/distserve/*` endpoints, restrict the DistServe HTTP and ZeroMQ control planes to trusted cluster networks, configure API-key authentication, and block arbitrary outbound ZeroMQ connections from serving nodes. These measures reduce exposure but do not make pickle deserialization safe.
AI Analysis
Technical Summary
CVE-2025-66455 is a deserialization of untrusted data vulnerability (CWE-502) in InternLM's LMDeploy toolkit affecting versions >=0.9.2 and <0.16.0. The PyTorch DistServe/PD-disaggregation control plane uses recv_pyobj() from PyZMQ to deserialize messages via Python pickle, which can execute arbitrary code during object reconstruction. The vulnerable code accepts a peer address from the HTTP endpoint POST /distserve/p2p_connect, allowing an attacker who can reach the DistServe API server to force it to connect to a malicious ZeroMQ endpoint and deserialize a crafted pickle payload. Without API-key authentication enabled (which is off by default), this leads to unauthenticated remote code execution with the LMDeploy serving process privileges. The vulnerability only affects deployments using the disaggregated serving path and not ordinary LMDeploy deployments. The issue was fixed in LMDeploy 0.16.0.
Potential Impact
Successful exploitation allows unauthenticated remote code execution on the LMDeploy server process, leading to full compromise of the affected service. This can result in complete loss of confidentiality, integrity, and availability of the LMDeploy instance. The vulnerability is critical with a CVSS 3.1 score of 9.8, reflecting network attack vector, no required privileges or user interaction, and high impact on confidentiality, integrity, and availability.
Mitigation Recommendations
A fixed version, LMDeploy 0.16.0, is available and should be applied to remediate this vulnerability. For users unable to upgrade immediately, mitigation includes restricting access to the /distserve/* HTTP endpoints to trusted clients only, enabling API-key authentication on the DistServe API, limiting the DistServe HTTP and ZeroMQ control planes to trusted cluster networks, and blocking arbitrary outbound ZeroMQ connections from serving nodes. These mitigations reduce exposure but do not eliminate the risk posed by unsafe pickle deserialization.
CVE-2025-66455: CWE-502: Deserialization of Untrusted Data in InternLM lmdeploy
Description
LMDeploy is a toolkit for compressing, deploying, and serving large language models. Starting in version 0.9.2 and prior to version 0.16.0, LMDeploy's PyTorch DistServe/PD-disaggregation control plane used `recv_pyobj()` to deserialize messages received through a ZeroMQ PULL socket. PyZMQ implements `recv_pyobj()` using Python pickle deserialization, which can execute arbitrary code while reconstructing an object. The peer address used by the receiver was supplied through the `POST /distserve/p2p_connect` HTTP endpoint. An attacker who could reach an affected DistServe API server could cause the server to connect to an attacker-controlled ZeroMQ endpoint and deserialize a crafted pickle payload. API-key authentication is not enabled unless the operator explicitly configures it. As a result, affected DistServe deployments without API keys allowed unauthenticated remote code execution with the privileges of the LMDeploy serving process. This issue affects the PyTorch backend when PD-disaggregation/DistServe is enabled. Ordinary deployments that do not use the affected disaggregated-serving path do not expose this data flow. The fix was released in LMDeploy 0.16.0. Users who cannot upgrade immediately should prevent untrusted clients from reaching `/distserve/*` endpoints, restrict the DistServe HTTP and ZeroMQ control planes to trusted cluster networks, configure API-key authentication, and block arbitrary outbound ZeroMQ connections from serving nodes. These measures reduce exposure but do not make pickle deserialization safe.
CVSS v3.1
Score 9.8critical
Affected software
InternLM
lmdeploy
Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
Weaknesses
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
CVE-2025-66455 is a deserialization of untrusted data vulnerability (CWE-502) in InternLM's LMDeploy toolkit affecting versions >=0.9.2 and <0.16.0. The PyTorch DistServe/PD-disaggregation control plane uses recv_pyobj() from PyZMQ to deserialize messages via Python pickle, which can execute arbitrary code during object reconstruction. The vulnerable code accepts a peer address from the HTTP endpoint POST /distserve/p2p_connect, allowing an attacker who can reach the DistServe API server to force it to connect to a malicious ZeroMQ endpoint and deserialize a crafted pickle payload. Without API-key authentication enabled (which is off by default), this leads to unauthenticated remote code execution with the LMDeploy serving process privileges. The vulnerability only affects deployments using the disaggregated serving path and not ordinary LMDeploy deployments. The issue was fixed in LMDeploy 0.16.0.
Potential Impact
Successful exploitation allows unauthenticated remote code execution on the LMDeploy server process, leading to full compromise of the affected service. This can result in complete loss of confidentiality, integrity, and availability of the LMDeploy instance. The vulnerability is critical with a CVSS 3.1 score of 9.8, reflecting network attack vector, no required privileges or user interaction, and high impact on confidentiality, integrity, and availability.
Mitigation Recommendations
A fixed version, LMDeploy 0.16.0, is available and should be applied to remediate this vulnerability. For users unable to upgrade immediately, mitigation includes restricting access to the /distserve/* HTTP endpoints to trusted clients only, enabling API-key authentication on the DistServe API, limiting the DistServe HTTP and ZeroMQ control planes to trusted cluster networks, and blocking arbitrary outbound ZeroMQ connections from serving nodes. These mitigations reduce exposure but do not eliminate the risk posed by unsafe pickle deserialization.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- GitHub_M
- Date Reserved
- 2025-12-01T18:44:35.640Z
- Cvss Version
- 3.1
- State
- PUBLISHED
Threat ID: 6aad759d55bf5e2cf54f30a9
Added to database: 09/18/2026, 17:32:13 UTC
Last enriched: 09/18/2026, 17:47:22 UTC
Last updated: 09/18/2026, 23:31:41 UTC
Views: 10
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.