{"id":"CVE-2026-93989","title":"vLLM through 0.29.0 fails to properly validate bad_words token indices against the model's generation output width in SamplingParams.update_from_tokenizer()","summary":"vLLM through 0.29.0 fails to properly validate bad_words token indices against the model's generation output width in SamplingParams.update_from_tokenizer(). Attackers can supply out-of-bounds token indices that corrupt logits memory of …","severity":"low","cvss":3.1,"cvssVector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N","cwe":["CWE-129","CWE-787"],"vendor":"vllm","product":"vllm","affected":["vllm <= 0.29.0"],"published":"2026-09-19","updated":"2026-09-28","sourceUpdated":"2026-09-28T18:38:31.173","source":"NVD","sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2026-93989","references":[{"url":"https://github.com/vllm-project/vllm","label":"disclosure@vulncheck.com"},{"url":"https://github.com/vllm-project/vllm/blob/98dff2a81d747d1dba01a47f939f48c3526d4206/vllm/sampling_params.py#L694-L753","label":"disclosure@vulncheck.com"},{"url":"https://github.com/vllm-project/vllm/blob/98dff2a81d747d1dba01a47f939f48c3526d4206/vllm/v1/worker/gpu/sample/bad_words.py","label":"disclosure@vulncheck.com"},{"url":"https://github.com/vllm-project/vllm/pull/48824","label":"disclosure@vulncheck.com"},{"url":"https://www.vulncheck.com/advisories/vllm-through-0.29.0-cross-request-logits-corruption-via-bad-words","label":"disclosure@vulncheck.com"},{"url":"https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-93989.json"},{"url":"https://access.redhat.com/security/cve/CVE-2026-93989"},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=2538411"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-93989"},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-93989"}],"tags":["nvd","cve.org","csaf","vex","red-hat","osv","pip"],"ssvc":{"exploitation":"none","automatable":"no","technicalImpact":"partial","timestamp":"2026-09-22T16:00:35.389361Z"},"ingestedAt":"2026-09-19T23:10:34.245Z","epss":0.00202,"epssPercentile":0.10058,"aliases":["PYSEC-2026-4000"],"ecosystem":"pip","patched":["vllm 0.30.0"],"scores":{"nvd":3.1,"osv":4.3},"slug":"CVE-2026-93989","body":"## Overview\n\nvLLM through 0.29.0 fails to properly validate bad_words token indices against the model's generation output width in SamplingParams.update_from_tokenizer(). Attackers can supply out-of-bounds token indices that corrupt logits memory of concurrent requests, causing different in-flight HTTP requests to return incorrect tokens.\n\n## Affected\n\n- `vllm <= 0.29.0`\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.\n\n## Vendor advisories\n\n- **Red Hat VEX** · Low · affected: Red Hat AI Inference Server, Red Hat Enterprise Linux AI (RHEL AI) 3, Red Hat OpenShift AI (RHOAI) · no fix planned: Red Hat AI Inference Server, Red Hat Enterprise Linux AI (RHEL AI) 3, Red Hat OpenShift AI (RHOAI) · updated 2026-09-28 · [vex](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-93989.json)\n\n## Package advisory (CVE-2026-93989)\n\nAffected packages:\n\n- `vllm < 0.30.0`\n\nPatched in:\n\n- `vllm 0.30.0`\n\nSource: https://osv.dev/vulnerability/PYSEC-2026-4000","depth":"sunlit","depthScore":17,"depthScoreParts":{"impact":17.1,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}