CVE-2026-100652

vLLM 0.22.0 through 0.23.0 Denial of Service via stop_token_ids

Published Sep 26, 2026 CVSS 4.0 · 8.2 High EPSS < 1% KEV · Not listed
Description
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.

Analysis

AI-generated

Technical impact

The vulnerability stems from a lack of bounds checking on stop_token_ids supplied to the Rust HTTP or gRPC front‑end of vLLM. Attackers can send a request containing a min_tokens value greater than zero together with token identifiers that are outside the model’s vocabulary range. Those out‑of‑range IDs reach the MinTokensLogitsProcessor, which performs CUDA tensor indexing without protecting against invalid indices, leading to a crash of the EngineCore. The result is a denial of service because the engine enters a fatal state that only a service restart can recover from. This flaw is an input validation weakness (CWE‑20) and an improper bounds check (CWE‑1285).

Affected Systems

The issue affects vLLM versions 0.22.0 through 0.23.0, as maintained by the vllm‑project. The vulnerability is present in both the Rust HTTP and gRPC front‑ends that expose the inference API. Any deployment of these versions that allows external clients to provide stop_token_ids is susceptible, regardless of the model being served.

Risk and Exploitability

The CVSS score of 8.2 indicates a high impact, and the lack of an EPSS entry suggests that exploitation probability is currently unknown but should be treated as significant in a high‑traffic setting. The vulnerability can be triggered remotely by an attacker who can reach the inference API, and no privileged user state is required. Although the vulnerability is not listed in the CISA KEV catalog, the potential to bring the engine to a fatal state makes rapid response advisable.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade vLLM to a version that includes the bounds‑checking fix for stop_token_ids.
  • If an upgrade cannot be performed immediately, sanitize all stop_token_ids supplied to the API to ensure they fall within the model’s vocabulary length, and set min_tokens to zero until a patch is applied.
  • Implement an automated restart or cluster‑level load‑balancing mechanism to recover the EngineCore quickly after a crash, while monitoring logs for indexing failures.

Generated by OpenCVE AI on September 27, 2026 at 01:23 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories available
History
Type Values Removed Values Added
Metrics ssvc

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

Type Values Removed Values Added
First Time appeared Vllm-project
Vllm-project vllm
Vendors & Products Vllm-project
Vllm-project vllm
Type Values Removed Values Added
Description 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.
Title vLLM 0.22.0 through 0.23.0 Denial of Service via stop_token_ids
First Time appeared Vllm
Vllm vllm
Weaknesses CWE-20
CPEs cpe:2.3:a:vllm:vllm:*:*:*:*:*:*:*:*
Vendors & Products Vllm
Vllm vllm
References
Metrics cvssV3_1

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

cvssV4_0

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

Weaknesses
  • CWE-1285

    Improper Validation of Specified Index, Position, or Offset in Input

  • CWE-20

    Improper Input Validation

Sources

Status
PUBLISHED
Assigner
VulnCheck
Published
Updated
Sep 28, 2026, 4:42 PM
Reserved
Sep 26, 2026, 2:33 AM
Status
Analyzed
Published
Sep 26, 2026, 2:16 PM
Modified
Oct 6, 2026, 7:22 PM
Severity
Important
Public date
Sep 26, 2026, 1:23 PM