Advisory · CVE-2026-119706
Unauthenticated RCE in LMDeploy via pickle deserialization
LMDeploy 0.9.0 through 0.18.0 lets unauthenticated attackers run OS commands by sending pickled data to the /update_weights endpoint.
- Vendor
- InternLM
- Product
- LMDeploy
- Identifier / CWE
- CVE-2026-119706
CWE-502 - Action timing
- Immediate
Explain it like I’m five
The server accepts a sealed box of instructions from anyone on the network and opens it without checking what is inside. Opening the box runs the instructions as the server itself.
- 01Exposed serving endpoint
An attacker reaches the LMDeploy api_server /update_weights endpoint without authenticating.
- 02Crafted payload
The attacker sends a base64-encoded crafted pickle in serialized_named_tensors.
- 03Unsafe deserialization
ForkingPickler.loads deserializes the payload without validation.
- 04Code execution
The embedded commands execute as the api_server process.
What happened
InternLM LMDeploy 0.9.0 through 0.18.0 contains an unauthenticated remote code execution vulnerability in the /update_weights endpoint. Attackers can submit a base64-encoded crafted pickle in serialized_named_tensors, which ForkingPickler.loads deserializes without validation, executing commands as the api_server process. The record rates it critical at CVSS 9.8.
No fixed release is stated in the NVD record or the vendor sources checked for this run, so this advisory claims none. The exposure itself is the urgent fact: any LMDeploy api_server reachable by untrusted clients can be turned into code execution with a single request.
What to do
- Inventory LMDeploy api_server deployments, including research, development, and demo instances.
- Do not expose the api_server, and especially /update_weights, to untrusted networks; restrict it to trusted hosts only.
- Track the vendor fix referenced in pull request 4964 and upgrade to a patched release as soon as the vendor publishes one.
- Review api_server logs for /update_weights requests carrying serialized_named_tensors from unexpected sources.
- If exploitation cannot be excluded, treat the host as compromised: rebuild it and rotate any credentials or tokens reachable from the api_server process.
Management note
This is an unauthenticated remote code execution flaw in LLM serving infrastructure. Network exposure is the whole attack: restrict who can reach the serving endpoint before the patched release lands, and do not wait for a version number to act.