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.
Published: 2026-09-26
Score: 8.2 High
EPSS: n/a
KEV: No
Impact: Denial of Service
Action: Immediate Patch
AI Analysis

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).

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.

Generated by OpenCVE AI on September 26, 2026 at 15:45 UTC.

Remediation

No vendor fix or workaround currently provided.

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 26, 2026 at 15:45 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

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

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'}


cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-09-26T13:23:21.865Z

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

Link: CVE-2026-100652

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

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

Modified: 2026-09-26T14:16:47.810

Link: CVE-2026-100652

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-26T16:00:09Z

Weaknesses
  • CWE-20

    Improper Input Validation