Skip to main content

Deserialization of Untrusted Data

CVE-2025-47277

Severity High
Score 9.8/10

Summary

The vLLM, an inference and serving engine for large language models (LLMs), has an issue in versions 0.6.5 through 0.8.4 that ONLY impacts environments using the "PyNcclPipe" KV cache transfer integration with the V0 engine. No other configurations are affected. vLLM supports the use of the "PyNcclPipe" class to establish a peer-to-peer communication domain for data transmission between distributed nodes. The GPU-side KV-Cache transmission is implemented through the "PyNcclCommunicator" class, while CPU-side control message passing is handled via the "send_obj" and "recv_obj" methods on the CPU side. The intention was that this interface should only be exposed to a private network using the IP address specified by the "--kv-ip" CLI parameter. The vLLM documentation covers how this must be limited to a secured network. The default and intentional behavior from PyTorch is that the "TCPStore" interface listens on ALL interfaces, regardless of what IP address is provided. The IP address given was only used as a client-side address to use. vLLM was fixed to use a workaround to force the "TCPStore" instance to bind its socket to a specified private interface. As of version 0.8.5, vLLM limits the "TCPStore" socket to the private interface as configured.

  • LOW
  • NETWORK
  • HIGH
  • UNCHANGED
  • NONE
  • NONE
  • HIGH
  • HIGH

CWE-502 - Deserialization of Untrusted Data

Deserialization of untrusted data vulnerabilities enable an attacker to replace or manipulate a serialized object, replacing it with malicious data. When the object is deserialized at the victim's end the malicious data is able to compromise the victim’s system. The exploit can be devastating, its impact may range from privilege escalation, broken access control, or denial of service attacks to allowing unauthorized access to the application's internal code and logic which can compromise the entire system.

Advisory Timeline

  • Published