Skip to content

← Public intelligence

PyPI package

vllm

Open actionable advisories and recorded vendor fixes. This public package view has no inventory attached and cannot establish whether your deployment is affected. A vendor fix never resolves your finding; verify your installed version and the source guidance.

Open advisories

89 actionable advisories, newest first. Withdrawn advisories and news are excluded. Coverage is partial.

  1. Medium, CVSS 4.3PyPIAmendedPublished

    vLLM vulnerable to Regular Expression Denial of Service

    CVE-2025-71379 · GHSA-j828-28rj-hfhp

    Affected
    • PyPI vllm >= 0.6.3, < 0.9.0
    Fixed in
    0.9.0· Vendor fix available
    Issue
    A recent review identified several regular expressions in the vllm codebase that are susceptible to Regular Expression Denial of Service (ReDoS) attacks. These patterns, if fed with crafted or malicious input, may cause severe performance degradation due to catastrophic backtracking. 1. vllm/lora/utils.py Line 173 https://github.com/vllm-project/vllm/blob/2858830c39da0ae153bc1328dbba7680f5fbebe1/vllm/lora/utils.py#L173 Risk Description: - The regex r"\((.?)\)\$?$" matches content inside parentheses. If input such as ((((a|)+)+)+) is passed in, it can cause catastrophic backtracking, leading to a ReDoS vulnerability. - Using .? (non-greedy match) inside group parentheses can be highly sensitive to input length and nesting complexity. Remediation Suggestions: - Limit the input string length. - Use a non-recursive matching approach, or write a regex with stricter content constraints. - Consider using possessive quantifiers or atomic groups (not supported in Python yet), or split…

    Recommended action: Upgrade to 0.9.0 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)github.com (2)Source checked Evidence →
  2. Medium, CVSS 6.5PyPIAmendedPublished

    vLLM has a Regular Expression Denial of Service (ReDoS, Exponential Complexity) Vulnerability in pythonic_tool_parser.py

    CVE-2025-48887 · GHSA-w6q7-j642-7c25

    Affected
    • PyPI vllm >= 0.6.4, < 0.9.0
    Fixed in
    0.9.0· Vendor fix available
    Issue
    A Regular Expression Denial of Service (ReDoS) vulnerability exists in the file vllm/entrypoints/openai/toolparsers/pythonictoolparser.py of the vLLM project. The root cause is the use of a highly complex and nested regular expression for tool call detection, which can be exploited by an attacker to cause severe performance degradation or make the service unavailable. Details The following regular expression is used to match tool/function call patterns: This pattern contains multiple nested quantifiers (, +), optional groups, and inner repetitions which make it vulnerable to catastrophic backtracking. Attack Example: A malicious input such as can cause the regular expression engine to consume CPU exponentially with the input length, effectively freezing or crashing the server (DoS). Proof of Concept: A Python script demonstrates that matching such a crafted string with the above regex results in exponential time complexity. Even moderate input lengths can bring the system to…

    Recommended action: Upgrade to 0.9.0 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)github.com (2)Source checked Evidence →
  3. Critical, CVSS 9.8PyPIAmendedPublished

    vLLM Allows Remote Code Execution via PyNcclPipe Communication Service

    CVE-2025-47277 · GHSA-hjq4-87xh-g4fv

    Affected
    • PyPI vllm >= 0.6.5, < 0.8.5
    Fixed in
    0.8.5· Vendor fix available
    Issue
    Impacted Environments This issue ONLY impacts environments using the PyNcclPipe KV cache transfer integration with the V0 engine. No other configurations are affected. Summary 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 sendobj and recvobj methods on the CPU side.​ A remote code execution vulnerability exists in the PyNcclPipe service. Attackers can exploit this by sending malicious serialized data to gain server control privileges. 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: https://docs.vllm.ai/en/latest/deployment/security.html Unfortunately, the default behavior…

    Recommended action: Upgrade to 0.8.5 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)github.com (2)Source checked Evidence →
  4. High, CVSS 8.0PyPIAmendedPublished

    Remote Code Execution Vulnerability in vLLM Multi-Node Cluster Configuration

    CVE-2025-30165 · GHSA-9pcc-gvx5-r5wm

    Affected
    • PyPI vllm >= 0.5.2, < 0.10.0
    Fixed in
    0.10.0· Vendor fix available
    Issue
    Affected Environments Note that this issue only affects the V0 engine, which has been off by default since v0.8.0. Further, the issue only applies to a deployment using tensor parallelism across multiple hosts, which we do not expect to be a common deployment pattern. Since V0 is has been off by default since v0.8.0 and the fix is fairly invasive, we have decided not to fix this issue. Instead we recommend that users ensure their environment is on a secure network in case this pattern is in use. The V1 engine is not affected by this issue. Impact In a multi-node vLLM deployment using the V0 engine, vLLM uses ZeroMQ for some multi-node communication purposes. The secondary vLLM hosts open a SUB ZeroMQ socket and connect to an XPUB socket on the primary vLLM host. https://github.com/vllm-project/vllm/blob/c21b99b91241409c2fdf9f3f8c542e8748b317be/vllm/distributed/devicecommunicators/shmbroadcast.py#L295-L301 When data is received on this SUB socket, it is deserialized with pickle. This…

    Recommended action: Upgrade to 0.10.0 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)github.com (2)Source checked Evidence →
  5. Medium, CVSS 6.5PyPIAmendedPublished

    vLLM: Quadratic Time Complexity in Input Token Processing​ leads to denial of service

    CVE-2025-46560 · GHSA-vc6m-hm49-g9qg

    Affected
    • PyPI vllm >= 0.8.0, < 0.8.5
    Fixed in
    0.8.5· Vendor fix available
    Issue
    A critical performance vulnerability has been identified in the input preprocessing logic of the multimodal tokenizer. The code dynamically replaces placeholder tokens (e.g., <|audio|, <|image|) with repeated tokens based on precomputed lengths. Due to ​​inefficient list concatenation operations​​, the algorithm exhibits ​​quadratic time complexity (O(n²))​​, allowing malicious actors to trigger resource exhaustion via specially crafted inputs. Details ​​Affected Component​​: inputprocessorforphi4mm function. https://github.com/vllm-project/vllm/blob/8cac35ba435906fb7eb07e44fe1a8c26e8744f4e/vllm/modelexecutor/models/phi4mm.py#L1182-L1197 The code modifies the inputids list in-place using inputids = inputids[:i] + tokens + inputids[i+1:]. Each concatenation operation copies the entire list, leading to O(n) operations per replacement. For k placeholders expanding to m tokens, total time becomes O(kmn), approximating O(n²) in worst-case scenarios. PoC Test data demonstrates…

    Recommended action: Upgrade to 0.8.5 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)github.com (2)Source checked Evidence →
  6. Critical, CVSS 10.0PyPIAmendedPublished

    vLLM Vulnerable to Remote Code Execution via Mooncake Integration

    CVE-2025-32444 · GHSA-hj4w-hm2g-p6w5

    Affected
    • PyPI vllm >= 0.6.5, < 0.8.5
    Fixed in
    0.8.5· Vendor fix available
    Issue
    Impacted Deployments Note that vLLM instances that do NOT make use of the mooncake integration are NOT vulnerable. Description vLLM integration with mooncake is vaulnerable to remote code execution due to using pickle based serialization over unsecured ZeroMQ sockets. The vulnerable sockets were set to listen on all network interfaces, increasing the likelihood that an attacker is able to reach the vulnerable ZeroMQ sockets to carry out an attack. This is a similar to GHSA - x3m8 - f7g5 - qhm7, the problem is in https://github.com/vllm-project/vllm/blob/32b14baf8a1f7195ca09484de3008063569b43c5/vllm/distributed/kvtransfer/kvpipe/mooncakepipe.py#L179 Here recvpyobj() Contains implicit pickle.loads(), which leads to potential RCE.

    Recommended action: Upgrade to 0.8.5 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)github.com (2)Source checked Evidence →
  7. High, CVSS 7.5PyPIAmendedPublished

    Data exposure via ZeroMQ on multi-node vLLM deployment

    CVE-2025-30202 · GHSA-9f8f-2vmf-885j

    Affected
    • PyPI vllm >= 0.5.2, < 0.8.5
    Fixed in
    0.8.5· Vendor fix available
    Issue
    Impact In a multi-node vLLM deployment, vLLM uses ZeroMQ for some multi-node communication purposes. The primary vLLM host opens an XPUB ZeroMQ socket and binds it to ALL interfaces. While the socket is always opened for a multi-node deployment, it is only used when doing tensor parallelism across multiple hosts. Any client with network access to this host can connect to this XPUB socket unless its port is blocked by a firewall. Once connected, these arbitrary clients will receive all of the same data broadcasted to all of the secondary vLLM hosts. This data is internal vLLM state information that is not useful to an attacker. By potentially connecting to this socket many times and not reading data published to them, an attacker can also cause a denial of service by slowing down or potentially blocking the publisher. Detailed Analysis The XPUB socket in question is created here:…

    Recommended action: Upgrade to 0.8.5 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)github.com (2)Source checked Evidence →
  8. Critical, CVSS 9.8PyPIAmendedPublished

    CVE-2025-24357 Malicious model remote code execution fix bypass with PyTorch < 2.6.0

    GHSA-ggpf-24jw-3fcw

    Affected
    • PyPI vllm < 0.8.0
    Fixed in
    0.8.0· Vendor fix available
    Issue
    https://github.com/vllm-project/vllm/security/advisories/GHSA-rh4j-5rhw-hr54 reported a vulnerability where loading a malicious model could result in code execution on the vllm host. The fix applied to specify weightsonly=True to calls to torch.load() did not solve the problem prior to PyTorch 2.6.0. PyTorch has issued a new CVE about this problem: https://github.com/advisories/GHSA-53q9-r3pm-6pq6 This means that versions of vLLM using PyTorch before 2.6.0 are vulnerable to this problem. Background Knowledge When users install VLLM according to the official manual But the version of PyTorch is specified in the requirements. txt file So by default when the user install VLLM, it will install the PyTorch with version 2.5.1 In CVE-2025-24357, weightsonly=True was used for patching, but we know this is not secure. Because we found that using Weightsonly=True in pyTorch before 2.5.1 was unsafe Here, we use this interface to prove that it is not safe. Fix update PyTorch version…

    Recommended action: Upgrade to 0.8.0 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)github.com (2)Source checked Evidence →
  9. Medium, CVSS 6.5PyPIAmendedPublished

    vLLM vulnerable to Denial of Service by abusing xgrammar cache

    GHSA-hf3c-wxg2-49q9

    Affected
    • PyPI vllm >= 0.6.5, < 0.8.4
    Fixed in
    0.8.4· Vendor fix available
    Issue
    Impact This report is to highlight a vulnerability in XGrammar, a library used by the structured output feature in vLLM. The XGrammar advisory is here: https://github.com/mlc-ai/xgrammar/security/advisories/GHSA-389x-67px-mjg3 The xgrammar library is the default backend used by vLLM to support structured output (a.k.a. guided decoding). Xgrammar provides a required, built-in cache for its compiled grammars stored in RAM. xgrammar is available by default through the OpenAI compatible API server with both the V0 and V1 engines. A malicious user can send a stream of very short decoding requests with unique schemas, resulting in an addition to the cache for each request. This can result in a Denial of Service by consuming all of the system's RAM. Note that even if vLLM was configured to use a different backend by default, it is still possible to choose xgrammar on a per-request basis using the guideddecodingbackend key of the extrabody field of the request with the V0 engine. This…

    Recommended action: Upgrade to 0.8.4 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)github.com (2)Source checked Evidence →
  10. Critical, CVSS 9.0PyPIAmendedPublished

    vLLM Allows Remote Code Execution via Mooncake Integration

    CVE-2025-29783 · GHSA-x3m8-f7g5-qhm7

    Affected
    • PyPI vllm >= 0.6.5, < 0.8.0
    Fixed in
    0.8.0· Vendor fix available
    Issue
    When vLLM is configured to use Mooncake, unsafe deserialization exposed directly over ZMQ/TCP will allow attackers to execute remote code on distributed hosts. Details 1. Pickle deserialization vulnerabilities are well documented. 2. The mooncake pipe is exposed over the network (by design to enable disaggregated prefilling across distributed environments) using ZMQ over TCP, greatly increasing exploitability. ~~Further, the mooncake integration opens these sockets listening on all interfaces on the host, meaning it can not be configured to only use a private, trusted network.~~ Only sendersocket and receiverack are allowed to be accessed publicly, while the data actually decompressed by pickle.loads() comes from recvbytes. Its interface is defined as self.receiversocket.connect(f\"tcp://{dhost}:{drankoffset + 1}\"), where dhost is decodehost, a locally defined address 192.168.0.139,from mooncake.json…

    Recommended action: Upgrade to 0.8.0 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)github.com (2)Source checked Evidence →
  11. Medium, CVSS 6.5PyPIAmendedPublished

    vLLM denial of service via outlines unbounded cache on disk

    CVE-2025-29770 · GHSA-mgrm-fgjv-mhv8

    Affected
    • PyPI vllm < 0.8.0
    Fixed in
    0.8.0· Vendor fix available
    Issue
    Impact The outlines library is one of the backends used by vLLM to support structured output (a.k.a. guided decoding). Outlines provides an optional cache for its compiled grammars on the local filesystem. This cache has been on by default in vLLM. Outlines is also available by default through the OpenAI compatible API server. The affected code in vLLM is vllm/modelexecutor/guideddecoding/outlineslogitsprocessors.py, which unconditionally uses the cache from outlines. vLLM should have this off by default and allow administrators to opt-in due to the potential for abuse. A malicious user can send a stream of very short decoding requests with unique schemas, resulting in an addition to the cache for each request. This can result in a Denial of Service if the filesystem runs out of space. Note that even if vLLM was configured to use a different backend by default, it is still possible to choose outlines on a per-request basis using the guideddecodingbackend key of the extrabody field of…

    Recommended action: Upgrade to 0.8.0 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)github.com (2)Source checked Evidence →
  12. Low, CVSS 2.6PyPIAmendedPublished

    vLLM uses Python 3.12 built-in hash() which leads to predictable hash collisions in prefix cache

    CVE-2025-25183 · GHSA-rm76-4mrf-v9r8

    Affected
    • PyPI vllm < 0.7.2
    Fixed in
    0.7.2· Vendor fix available
    Issue
    Maliciously constructed prompts can lead to hash collisions, resulting in prefix cache reuse, which can interfere with subsequent responses and cause unintended behavior. Details vLLM's prefix caching makes use of Python's built-in hash() function. As of Python 3.12, the behavior of hash(None) has changed to be a predictable constant value. This makes it more feasible that someone could try exploit hash collisions. Impact The impact of a collision would be using cache that was generated using different content. Given knowledge of prompts in use and predictable hashing behavior, someone could intentionally populate the cache using a prompt known to collide with another prompt in use. Solution We address this problem by initializing hashes in vllm with a value that is no longer constant and predictable. It will be different each time vllm runs. This restores behavior we got in Python versions prior to 3.12. Using a hashing algorithm that is less prone to collision (like sha256,…

    Recommended action: Upgrade to 0.7.2 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)github.com (2)Source checked Evidence →
  13. High, CVSS 7.5PyPIAmendedPublished

    vllm: Malicious model to RCE by torch.load in hf_model_weights_iterator

    CVE-2025-24357 · GHSA-rh4j-5rhw-hr54

    Affected
    • PyPI vllm < 0.7.0
    Fixed in
    0.7.0· Vendor fix available
    Issue
    The vllm/modelexecutor/weightutils.py implements hfmodelweightsiterator to load the model checkpoint, which is downloaded from huggingface. It use torch.load function and weightsonly parameter is default value False. There is a security warning on https://pytorch.org/docs/stable/generated/torch.load.html, when torch.load load a malicious pickle data it will execute arbitrary code during unpickling. Impact This vulnerability can be exploited to execute arbitrary codes and OS commands in the victim machine who fetch the pretrained repo remotely. Note that most models now use the safetensors format, which is not vulnerable to this issue. References https://pytorch.org/docs/stable/generated/torch.load.html Fix: https://github.com/vllm-project/vllm/pull/12366

    Recommended action: Upgrade to 0.7.0 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)github.com (2)Source checked Evidence →
  14. High, CVSS 8.7PyPIAmendedPublished

    vLLM denial of service vulnerability

    CVE-2024-8768 · GHSA-w2r7-9579-27hf

    Affected
    • PyPI vllm < 0.5.5
    Fixed in
    0.5.5· Vendor fix available
    Issue
    A flaw was found in the vLLM library. A completions API request with an empty prompt will crash the vLLM API server, resulting in a denial of service.

    Recommended action: Upgrade to 0.5.5 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)github.com (2)Source checked Evidence →