CVE-2025-47277: vLLM remote code execution via unsafe deserialization in PyNcclPipe

CVE-2025-47277 · Severity: critical · CVSS 9.8 · Published 2025-05-20

vLLM is a high-performance engine for serving artificial intelligence models. A security vulnerability in its distributed communication component allows an attacker to execute arbitrary commands on the server. This could lead to a total system takeover, theft of sensitive AI models or data, and disruption of operations.

Technologies: vllm (PyPI). Vendors: PyPI.

Quick answers

Is CVE-2025-47277 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2025-47277 being exploited in the wild.
How severe is CVE-2025-47277?
Critical severity, with a CVSS score of 9.8, published 20 May 2025.
Which products and versions are affected?
vllm (PyPI) ECOSYSTEM:introduced=0.6.5,fixed=0.8.5.
Is there a fix for CVE-2025-47277?
Yes. vllm (PyPI): upgrade to 0.8.5 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2025-47277 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2025-47277?
Check whether you run vllm (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

  • vllm (PyPI): upgrade to 0.8.5 or later
    pip install "vllm>=0.8.5"

Technical details

A remote code execution (RCE) vulnerability exists in vLLM's PyNcclPipe service due to the use of the 'pickle' library to deserialize untrusted data. The vulnerability is located in the _recv_metadata method, which calls pickle.loads on data received over the network. While intended for private network use, the underlying PyTorch TCPStore component defaults to listening on all network interfaces (0.0.0.0), potentially exposing the service to the public internet or untrusted local networks. An unauthenticated attacker can send a maliciously crafted serialized object to the PyNcclPipe port (default 18888) to execute arbitrary code with the privileges of the vLLM process. This issue is fixed in version 0.8.5 by forcing the TCPStore to bind only to the specified private interface.

Affected products

  • vLLM Project vllm >= 0.6.5, < 0.8.5

Identifiers

  • CVE-2025-47277
  • GHSA-hjq4-87xh-g4fv
  • PYSEC-2026-567

Timeline

  • 2025-05-20: advisory
  • 2025-05-20: disclosed
  • 2025-05-20: patched: Fixed in version 0.8.5

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.