# CVE-2026-115916: vLLM off-by-one error in tokenizer max_token_id validation

Source: https://junglewise.ai/threats/cve-2026-115916-vllm-is-an-inference-and-serving-engine-for-large-language  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-10-26. Updated: 2026-10-26  
License: CC BY 4.0 with a link back

CVE-2026-115916 · Severity: medium · CVSS 6.5 · Published 2026-10-26

vLLM is an inference engine for large language models used to run LLM-based services. Prior to version 0.32.0, a tokenizer validation bug allows an attacker to submit a specially crafted input token ID that bypasses validation and causes the CUDA GPU to crash with an assertion error, terminating the service and causing denial of service.

Technologies: [vllm (PyPI)](https://junglewise.ai/threats/technologies/pypi-vllm), [vLLM Project vllm](https://junglewise.ai/threats/technologies/vllm-project-vllm). Vendors: [PyPI](https://junglewise.ai/threats/vendors/pypi), [vLLM Project](https://junglewise.ai/threats/vendors/vllm-project).

## Quick answers

**Is CVE-2026-115916 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-115916 being exploited in the wild.

**How severe is CVE-2026-115916?** Medium severity, with a CVSS score of 6.5, published 26 October 2026.

**Which products and versions are affected?** vllm (PyPI) < 0.32.0, ECOSYSTEM:introduced=0,fixed=0.32.0; vLLM Project vllm before 0.32.0.

**Is there a fix for CVE-2026-115916?** Yes. vllm (PyPI): upgrade to 0.32.0 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-115916 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2026-115916?** Check whether you run vllm (PyPI) or vLLM Project vllm at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- vllm (PyPI): upgrade to 0.32.0 or later

  ```sh
  pip install "vllm>=0.32.0"
  ```


## Technical details

The vllm/tokenizers/hf.py module computes max_token_id as vocab_size instead of vocab_size - 1, allowing a pre-tokenized prompt ID equal to vocabulary size to pass validation. When tensor parallelism is 1 and vocabulary size is an exact multiple of 64, VocabParallelEmbedding.forward fails to mask this out-of-bounds index before calling F.embedding, triggering a CUDA device-side assertion that terminates the engine.

## Affected products

- vLLM Project vLLM before 0.32.0

## Identifiers

- CVE-2026-115916
- GHSA-q97c-p368-75c4
- PYSEC-2026-4347

## Timeline

- 2026-10-26: disclosed
- 2026-10-01: patched: fix merged to main branch

## References

- [https://github.com/vllm-project/vllm/commit/37cecc8141e2dcba9dd534897a164d4baaf27229](https://github.com/vllm-project/vllm/commit/37cecc8141e2dcba9dd534897a164d4baaf27229)
- [https://github.com/vllm-project/vllm/pull/59491](https://github.com/vllm-project/vllm/pull/59491)

## Related threats

- [vLLM chat template resource exhaustion DoS](https://junglewise.ai/threats/cve-2026-115918-vllm-is-an-inference-and-serving-engine-for-large-language)
- [vLLM: Permissive default CORS origins allow cross-origin requests to the vLLM HTTP server](https://junglewise.ai/threats/cve-2026-115917-vllm-is-an-inference-and-serving-engine-for-large-language)
- [vLLM image format validation bypass in media processing](https://junglewise.ai/threats/cve-2026-115915-vllm-is-an-inference-and-serving-engine-for-large-language)
- [vLLM denial of service in DeepSeek-OCR image processing](https://junglewise.ai/threats/cve-2026-115914-vllm-is-an-inference-and-serving-engine-for-large-language)
- [vLLM Phi-4 multimodal audio encoder GPU memory exhaustion](https://junglewise.ai/threats/cve-2026-115913-vllm-is-an-inference-and-serving-engine-for-large-language)
