Patch Forecast
Yellow warning
Plan into this sprint.

CVE-2026-100651

Vllm: denial of service

Risk score
49/100
CVSS
6.5 v3.1
Exploit chance (30 days)
0.3%
Published
26 Sep 2026

Open in the live forecast Today's forecast

What to know

What it is
vLLM before 0.29.0 fails to enforce decoder prompt-length validation on the disaggregated serving endpoint /inference/v1/generate. When the request contains a 'features' (multimodal) payload, vllm/entrypoints/serve/disagg/serving.py builds a multimodal EngineInput directly from the caller-supplied token_ids, and Gener…
Affected
Vllm before 0.29.0
Fix
Upgrade Vllm to 0.29.0 or later.
Exploitation
Public proof of concept

Story map

Story map: VllmTHE FLAWSTHE FIXCVE-2026-100651Denial of serviceCVSS 6.5 · EPSS 0%CVE-2026-100652Improper input validationCVSS 7.5 · EPSS 0%CVE-2026-105759VLLM is an inference andserving engine for largelanguage modelsCVSS 7.5 · EPSS 0%CVE-2026-103241Denial of serviceCVSS 7.5 · EPSS 1%Upgrade Vllm0.29.0 · 0.30.0or later on your release lineWho is exposedVllmAMBER · PATCH THIS WEEKVllmvLLM versions 0.22.0 through0.23.0 fail to validatestop_token_ids againstvocabulary bounds in Rust HTTPand gRPC frontends, allowingout-of-vocabulary token IDs toreach…Where it standsPublic proof of conceptCONNECTS TOSame weaknessDenial of service (CWE-400)252 other warnings in 30 days →Same productEarlier Vllm warnings15 in the last 90 days →
Story map: the flaws, the fix, how it unfolded and what it connects to. Boxes link to the record or article.

At a glance

Vllm: Amber, patch this week. 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 ten…

The flaws

The fix

Upgrade Vllm: 0.29.0 · 0.30.0 or later on your release line

Who is exposed: Vllm

Where it stands

  • Public proof of concept

Connects to

Why it is Yellow

  • CVSS 6.5 medium
  • Public exploit or proof of concept referenced

References

Original description

vLLM before 0.29.0 fails to enforce decoder prompt-length validation on the disaggregated serving endpoint /inference/v1/generate. When the request contains a 'features' (multimodal) payload, vllm/entrypoints/serve/disagg/serving.py builds a multimodal EngineInput directly from the caller-supplied token_ids, and GenerateRequest.token_ids (vllm/entrypoints/serve/disagg/protocol.py) is not checked against model_config.max_model_len. For multimodal processors that report skip_prompt_length_check=True (for example Nemotron Parse, Whisper, and FireRedLID), InputProcessor._validate_prompt_len() returns immediately for both encoder and decoder prompts, so an overlong prompt becomes an EngineCoreRequest and reaches the worker input-batch copy into a fixed max_model_len-wide NumPy row. A client able to reach the endpoint on an affected model configuration can therefore submit an overlong token_ids list to trigger a worker failure and denial of service. Fixed in 0.29.0.

Last activity 26 Sep 2026. Patch Forecast updates every hour.