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.
Published: 2026-09-26
Score: 7.1 High
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service
Action: Immediate Patch
AI Analysis

Impact

The vulnerability in vLLM allows an attacker to trigger a denial of service by exploiting a missing prompt-length validation. When a request containing a 'features' payload is sent to the disaggregated serving endpoint /inference/v1/generate, the server constructs an EngineInput directly from the supplied token_ids without checking against the configured maximum model length. For multimodal processors that skip prompt validation, an overlong prompt is forwarded to the worker layer, causing the processing worker to fail. The failure results in an unresponsive service for the affected model.

Affected Systems

Vulnerable versions are vllm‑project's vllm library prior to 0.29.0. The issue applies to any deployment that exposes the /inference/v1/generate endpoint for multimodal requests, particularly models that set skip_prompt_length_check to true such as Nemotron Parse, Whisper, and FireRedLID. Systems running vllm 0.28.x or earlier are at risk.

Risk and Exploitability

The CVSS score of 7.1 indicates a high-impact vulnerability. The EPSS score is not available, and the vulnerability is not listed in CISA KEV. The description does not provide details about authentication; it is inferred that an attacker able to reach the /inference/v1/generate endpoint can send an overlong token_ids list, causing the worker process to fail and rendering the service unresponsive. The likely attack vector is a request to the disaggregated serving endpoint, potentially from any network reachability that exists to the inference service. The failure can degrade availability for legitimate users. Immediate patching mitigates the risk fully; if patching is delayed, restricting access to the endpoint reduces exposure until a fix is applied.

Generated by OpenCVE AI on September 27, 2026 at 02:22 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade to vllm 0.29.0 or a newer version that includes the fix.
  • Restrict access to the /inference/v1/generate endpoint to trusted IP addresses or networks, or apply application‑level authentication.
  • Validate the length of token_ids on the client side so that requests do not exceed the model’s maximum before sending them.

Generated by OpenCVE AI on September 27, 2026 at 02:22 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 28 Sep 2026 19:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Sun, 27 Sep 2026 00:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-120
References
Metrics threat_severity

None

threat_severity

Moderate


Sat, 26 Sep 2026 13:30:00 +0000

Type Values Removed Values Added
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.
Title vllm before 0.29.0 Denial of Service via Decoder Prompt Length Bypass
First Time appeared Vllm
Vllm vllm
Weaknesses CWE-400
CPEs cpe:2.3:a:vllm:vllm:*:*:*:*:*:*:*:*
Vendors & Products Vllm
Vllm vllm
References
Metrics cvssV3_1

{'score': 6.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'}

cvssV4_0

{'score': 7.1, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-09-28T18:25:40.222Z

Reserved: 2026-09-26T02:33:07.899Z

Link: CVE-2026-100651

cve-icon Vulnrichment

Updated: 2026-09-28T18:23:12.579Z

cve-icon NVD

Status : Analyzed

Published: 2026-09-26T14:16:47.663

Modified: 2026-10-06T19:30:25.503

Link: CVE-2026-100651

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-09-26T13:23:21Z

Links: CVE-2026-100651 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-09-27T02:30:16Z

Weaknesses
  • CWE-120

    Buffer Copy without Checking Size of Input ('Classic Buffer Overflow')

  • CWE-400

    Uncontrolled Resource Consumption