Quick answers
- Is CVE-2025-66455 exploited in the wild?
- No. Junglewise Threat Intelligence has no report of CVE-2025-66455 being exploited in the wild.
- How severe is CVE-2025-66455?
- Critical severity, with a CVSS score of 9.8, published 18 September 2026.
- Which products and versions are affected?
- lmdeploy (PyPI) >= 0.9.2, < 0.16.0, ECOSYSTEM:introduced=0.9.2,fixed=0.16.0.
- Is there a fix for CVE-2025-66455?
- Yes. lmdeploy (PyPI): upgrade to 0.16.0 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
- How is CVE-2025-66455 attacked?
- It is attacked over the network, in a software library.
- Am I affected by CVE-2025-66455?
- Check whether you run lmdeploy (PyPI) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.
How to fix
- lmdeploy (PyPI): upgrade to 0.16.0 or later
pip install "lmdeploy>=0.16.0"
Technical details
LMDeploy's DistServe control plane uses PyZMQ's `recv_pyobj()` method to deserialize messages from ZeroMQ PULL sockets. The vulnerable code path is triggered via the `POST /distserve/p2p_connect` HTTP endpoint, which accepts an attacker-controlled ZeroMQ peer address in `DistServeConnectionRequest.remote_engine_endpoint_info.zmq_address`. When the LMDeploy engine connects to this address and calls `handle_zmq_recv()` in `engine_conn.py`, Python's pickle deserialization executes arbitrary code embedded in the crafted payload before any type validation occurs. API-key authentication is disabled by default, allowing unauthenticated exploitation. The vulnerability was fixed in LMDeploy 0.16.0 by replacing pickle-based serialization with JSON and adding Pydantic schema validation.
Affected products
- InternLM LMDeploy 0.9.2 to 0.15.x
Identifiers
- CVE-2025-66455
- GHSA-2vh9-42vm-xmv2
- PYSEC-2026-4077
Timeline
- 2026-09-18: disclosed: GHSA-2vh9-42vm-xmv2 published
- 2026: patched: Fixed in LMDeploy 0.16.0 via commit f05b4ad8