Vulnerability Description
vLLM before 0.29.0 validates allowed_token_ids against tokenizer length instead of model output logits width in SamplingParams._validate_allowed_token_ids(). Attackers can supply token IDs above the output vocabulary that pass validation, causing LogitBiasState to corrupt GPU logits state and allow concurrent requests to sample tokens outside their allowlists.
CVSS Score
LOW
Related Weaknesses (CWE)
References
- https://github.com/vllm-project/vllm
- https://github.com/vllm-project/vllm/blob/v0.28.0/vllm/sampling_params.py#L881-L
- https://github.com/vllm-project/vllm/blob/v0.28.0/vllm/v1/worker/gpu/sample/logi
- https://github.com/vllm-project/vllm/commit/5b0e5b69ac1a3884a6479c9537789c95263c
- https://github.com/vllm-project/vllm/pull/49080
- https://www.vulncheck.com/advisories/vllm-before-0.29.0-cross-request-logits-cor
FAQ
What is CVE-2026-93840?
CVE-2026-93840 is a vulnerability with a CVSS score of 3.7 (LOW). vLLM before 0.29.0 validates allowed_token_ids against tokenizer length instead of model output logits width in SamplingParams._validate_allowed_token_ids(). Attackers can supply token IDs above the o...
How severe is CVE-2026-93840?
CVE-2026-93840 has been rated LOW with a CVSS base score of 3.7/10. Review the CVSS metrics above for detailed severity breakdown.
Is there a patch for CVE-2026-93840?
Check the references section above for vendor advisories and patch information. Review vendor security bulletins for remediation guidance.