p PatchFirst

PatchFirst · Latest vulnerabilities

vllm vulnerabilities · Page 2

Vulnerabilities published for vllm in the last 30 days: 22. Listed in the KEV catalogue: 0.

Filter vulnerabilities
Clear filters

Vulnerabilities: 107

  1. CVE-2026-105752

    Low · CVSS 3.1EPSS 0.22%Public exploitFix available

    vLLM: Harmony tool continuations drop `cache_salt` — restoring a cross-tenant prefix-cache membership oracle

    vLLM is an inference and serving engine for large language models. Prior to 0.30.0, Harmony tool continuations submitted through "POST /v1/responses" requests rebuild the next-turn engine input without preserving the cache_salt value, placing the continuation prefix in the global unsalted cache namespace even when the caller enabled salting. On deployments with prefix caching enabled, which is the default, an authenticated tenant who can reconstruct a victim's low-entropy post-tool history can submit the same continuation and use the cached_tokens_per_turn count to determine whether the prefix was previously processed, defeating the intended

    • Update to 0.30.0
    Published Updated
  2. CVE-2026-103241

    Medium · CVSS 6.9EPSS 0.71%Fix available

    vllm-project vLLM Gemma4UnifiedParser gemma4.rs denial of service

    A flaw has been found in vllm-project vLLM up to 0.26.0. This vulnerability affects unknown code of the file rust/src/parser/src/unified/gemma4.rs of the component Gemma4UnifiedParser. Executing a manipulation can lead to denial of service. The attack may be launched remotely. The exploit has been published and may be used. Upgrading to version 0.29.1rc0 is able to resolve this issue. This patch is called 3439bad37e68ba9755a46f4f6b44a4aeaf1f60a9. Upgrading the affected component is advised.

    • Update to 0.27.0
    Published Updated
  3. CVE-2026-100653

    High · CVSS 8.3EPSS 0.34%Fix available

    vLLM 0.22.1 before 0.28.0 Incomplete Artifact Pin Propagation

    vLLM is an inference and serving engine for large language models. In versions from 0.22.1 through 0.28.0, the operator-supplied model revision pin (--revision / --code-revision) is not propagated to several Hugging Face artifact loads for the FunAudioChat and Tarsier2 architectures: the WhisperFeatureExtractor and speech_tokenizer PreTrainedTokenizerFast loads in vllm/model_executor/models/funaudiochat.py and the Qwen2VLConfig.from_pretrained call used by Tarsier2ProcessingInfo in vllm/model_executor/models/qwen2_vl.py. As a result, deployments pinned to a reviewed revision still resolve these behavior-affecting processor, tokenizer, and con

    • Update to 0.28.0
    Published Updated
  4. CVE-2026-100652

    High · CVSS 8.2EPSS 0.42%Fix available

    vLLM 0.22.0 through 0.23.0 Denial of Service via stop_token_ids

    vLLM versions 0.22.0 through 0.23.0 fail to validate stop_token_ids against vocabulary bounds in Rust HTTP and gRPC frontends, allowing out-of-vocabulary token IDs to reach MinTokensLogitsProcessor. Attackers can submit requests with min_tokens greater than zero and out-of-vocabulary stop_token_ids to trigger CUDA tensor indexing failures that leave EngineCore in a fatal state requiring service restart.

    • Update to 0.24.0
    Published Updated
  5. CVE-2026-100650

    High · CVSS 7.1EPSS 0.81%Fix available

    vLLM before 0.29.0 Resource Exhaustion via Unbounded Media Materialization

    vLLM through 0.29.0 fetches and fully materializes remote or inline media before enforcing its documented media controls (the VLLM_MAX_AUDIO_CLIP_FILESIZE_MB compressed-audio size cap, default 25 MB, and the per-modality --limit-mm-per-prompt item limits). Across four ingress paths — the shared media-acquisition layer (HTTPConnection.get_bytes()/async_get_bytes()), the chat completions audio_url/base64 path, the batch speech runner, and the Rust frontend POST /tokenize route — the server reads the entire HTTP response body, base64-decodes the inline payload, or spawns one fetch/decode task per media part, and only then applies the limit (or,

    • Update to 0.30.0
    Published Updated
  6. CVE-2026-94626

    High · CVSS 8.7EPSS 0.63%Fix available

    vLLM through 0.29.0 Memory Exhaustion via Unvalidated NIXL tp_size

    vLLM through 0.29.0 fails to validate the tp_size parameter in kv_transfer_params on OpenAI-compatible completion endpoints, allowing attackers to allocate unbounded memory. Attackers can supply arbitrary tp_size values in prefill/decode disaggregated deployments to exhaust memory and trigger kernel OOM-kill of the decode worker process.

    • Update to 0.30.0
    Published Updated
  7. CVE-2026-94625

    Medium · CVSS 6.9EPSS 0.52%Fix available

    vLLM through 0.29.0 Resource Exhaustion via Ownerless Mooncake Transfer Placeholders

    vLLM through 0.29.0 contains a resource exhaustion vulnerability in MooncakeConnector where rejected prefill requests create ownerless transfer placeholders that are never reclaimed. Attackers can send rejected requests to exhaust sender task pools, causing valid requests to be delayed by up to 480 seconds while health checks continue returning success.

    • Update to 0.30.0
    Published Updated
  8. CVE-2026-94624

    High · CVSS 8.7EPSS 0.43%Fix available

    vLLM through 0.29.0 Denial of Service via Unbounded P2P KV Offloading Sessions

    vLLM through 0.29.0 contains a denial of service vulnerability in P2P KV offloading when OffloadingConnector is configured with TieringOffloadingSpec and a peer-to-peer secondary tier. Attackers can supply arbitrary remote host and port values in kv_transfer_params to create unreachable peer sessions that retain ZeroMQ sockets until the context quota is exhausted, causing an uncaught ZMQError that crashes EngineCore and stops all inference.

    • Update to 0.30.0
    • Update to 0.32.0
    Published Updated
  9. CVE-2026-94623

    High · CVSS 8.7EPSS 0.63%Fix available

    vLLM through 0.29.0 Denial of Service via NIXL Multi-Prompt Assertion Failure

    vLLM through 0.29.0 contains a denial of service vulnerability in the NIXL connector's prefix caching implementation that fails to properly validate block counts across multi-prompt completion requests in prefill/decode disaggregated deployments. Attackers can trigger an assertion failure in NixlBaseConnectorWorker._apply_prefix_caching by submitting completion requests with multiple prompts of varying lengths, causing the decode worker to terminate and become unavailable until restarted.

    • Update to 0.30.0
    Published Updated
  10. CVE-2026-94622

    High · CVSS 8.7EPSS 0.63%Fix available

    vLLM through 0.29.0 Denial of Service via Incomplete NIXL KV Transfer Metadata

    vLLM versions through 0.29.0 contain a denial of service vulnerability in the NIXL connector's metadata handling for prefill/decode disaggregated deployments. Attackers can send requests with incomplete kv_transfer_params dictionary entries to trigger an uncaught KeyError in EngineCore scheduling, causing the decode engine to terminate and making all routed requests fail until manual restart.

    • Update to 0.30.0
    Published Updated
  11. CVE-2026-93989

    Low · CVSS 2.3EPSS 0.2%Fix available

    vLLM through 0.29.0 Cross-Request Logits Corruption via bad_words

    vLLM through 0.29.0 fails to properly validate bad_words token indices against the model's generation output width in SamplingParams.update_from_tokenizer(). Attackers can supply out-of-bounds token indices that corrupt logits memory of concurrent requests, causing different in-flight HTTP requests to return incorrect tokens.

    • Update to 0.30.0
    Published Updated
  12. CVE-2026-93841

    Medium · CVSS 6.3EPSS 0.24%Fix available

    vLLM through 0.29.0 Adjacent-Request Sampler State Corruption via Unvalidated Prompt Token IDs

    vLLM through 0.29.0 contains a memory corruption vulnerability in the Triton _bincount_kernel where prompt token IDs index the penalty prompt-presence bitset without bounds checking against vocabulary size. Attackers can submit multimodal audio requests with tokens equal to vocabulary size, causing out-of-bounds writes that corrupt concurrent requests' sampler state and alter repetition penalty behavior.

    • Update to 0.30.0
    Published Updated
  13. CVE-2026-93840

    Medium · CVSS 6.3EPSS 0.25%Fix available

    vLLM before 0.29.0 Cross-Request Logits Corruption via allowed_token_ids

    vLLM before 0.29.0 validates allowed_token_ids against tokenizer length instead of model output logits width in SamplingParams._validate_allowed_token_ids(). Attackers can supply token IDs above the output vocabulary that pass validation, causing LogitBiasState to corrupt GPU logits state and allow concurrent requests to sample tokens outside their allowlists.

    • Update to 0.29.0
    Published Updated
  14. CVE-2026-93592

    High · CVSS 8.7EPSS 0.54%Fix available

    vLLM before 0.28.0 Denial of Service via negative token ID

    vLLM versions before 0.28.0 fail to validate the lower bound of token IDs in the /v1/embeddings and /pooling endpoints, allowing unauthenticated attackers to crash the engine by submitting negative token IDs. A single request with a negative token ID triggers a CUDA device-side assertion that poisons the GPU context, causing all subsequent requests to fail until the process restarts.

    • Update to 0.28.0
    Published Updated
  15. CVE-2026-93436

    High · CVSS 8.7EPSS 0.76%Fix available

    vLLM through 0.29.0 Memory Exhaustion via Rejected Requests

    vLLM through 0.29.0 fails to properly clean up decode-side metadata for rejected inference requests in prefill/decode disaggregated deployments. Remote attackers can submit requests with max_tokens=0 to exhaust decode-worker memory without bound until the worker restarts.

    • Update to 0.30.0
    Published Updated
  16. CVE-2026-69147

    Medium · CVSS 6.5EPSS 0.58%Fix available

    vLLM: Request-selected PyNvVideoCodec GPU decode bypasses static VRAM reservation

    vLLM is an inference and serving engine for large language models. Prior to 0.28.0, request bodies for Chat Completions and Responses can set media_io_kwargs.video.video_backend to pynvvideocodec, and MediaConnector.fetch_video forwards that choice to VideoMediaIO even when startup configuration selected a software decoder. The engine's _reserve_mm_ipc_gpu_memory logic budgets decoder memory only from static configuration, so the request-selected VIDEO_LOADER_REGISTRY backend can create a CUDA context, decoder surfaces, and decoded-frame allocations that were not removed from the engine's KV-cache budget. An attacker able to submit video requ

    • Update to 0.28.0
    Published Updated
  17. CVE-2026-57173

    Medium · CVSS 6.5EPSS 0.73%Fix available

    vLLM: Unauthenticated audio decompression-bomb DoS in /v1/chat/completions

    vLLM is an inference and serving engine for large language models. Prior to 0.24.0, the input_audio handling path for /v1/chat/completions calls AudioMediaIO.load_bytes or AudioMediaIO.load_file without passing VLLM_MAX_AUDIO_DECODE_DURATION_S to the shared audio decoder. An unauthenticated client can therefore submit a small compressed audio input that expands into a very large float32 PCM allocation, bypassing the duration guard already used by /v1/audio/transcriptions and causing an out-of-memory worker crash. Inline data URLs reach this path without being bounded by VLLM_AUDIO_FETCH_TIMEOUT. The issue affects deployments serving an audio-

    • Update to 0.24.0
    Published Updated
  18. CVE-2026-90553

    High · CVSS 8.5EPSS 0.31%Fix available

    vLLM before 0.28.0 Remote Code Execution via LlavaOnevision2 processor

    vLLM before 0.28.0 contains a remote code execution vulnerability in the LlavaOnevision2 processor loader that ignores the trust_remote_code parameter when loading remote processor classes. Attackers can craft a malicious model with arbitrary code in processing_llava_onevision2.py that executes with vLLM process authority even when trust_remote_code is set to False.

    • Update to 0.28.0
    Published Updated
  19. CVE-2026-78684

    Medium · CVSS 6.9EPSS 0.61%Fix available

    vLLM before 0.27.0 Denial of Service via DeepStream Backend

    vLLM before 0.27.0 fails to properly classify DeepStream as a GPU backend and omits pixel-limit enforcement in its decode path. Unauthenticated attackers can activate DeepStream at request time to initialize the process-wide GPU decode pool and submit video that bypasses resource controls, causing partial denial of service for concurrent requests.

    • Update to 0.27.0
    Published Updated
  20. CVE-2026-73560

    Medium · CVSS 6.5EPSS 0.41%Fix available

    vLLM: SSRF + arbitrary local file read in MiMoV2OmniMultiModalProcessor `_fetch_image` and audio loader bypass MediaConnector protections

    vLLM is an inference and serving engine for large language models. Prior to 0.26.0, the MiMoV2OmniMultiModalProcessor in vllm/transformers_utils/processors/mimo_v2_omni.py passes attacker-controlled image and audio strings through _fetch_image, requests.get, and Image.open instead of MediaConnector, bypassing allowed_media_domains and allowed_local_media_path protections and allowing server-side requests and reads of arbitrary files accessible to the vLLM process. This issue is fixed in version 0.26.0.

    • Update to 0.26.0
    Published Updated

Check your server

Check your installed stack and versions against the current vulnerability feeds.

Check your server →