{"affected":[{"product":"vllm","source":"CNA: GitHub_M","vendor":"vllm-project","versions":[{"status":"affected","version":"< 0.32.0"}]},{"defaultStatus":"unaffected","ecosystem":"PyPI","packageName":"vllm","product":"vllm","source":"OSV GHSA-q97c-p368-75c4","vendor":"","versions":[{"status":"affected","version":"0.0.1","versionType":"PyPI"},{"status":"affected","version":"0.1.0","versionType":"PyPI"},{"status":"affected","version":"0.1.1","versionType":"PyPI"},{"status":"affected","version":"0.1.2","versionType":"PyPI"},{"status":"affected","version":"0.1.3","versionType":"PyPI"},{"status":"affected","version":"0.1.4","versionType":"PyPI"},{"status":"affected","version":"0.1.5","versionType":"PyPI"},{"status":"affected","version":"0.1.6","versionType":"PyPI"},{"status":"affected","version":"0.1.7","versionType":"PyPI"},{"status":"affected","version":"0.10.0","versionType":"PyPI"},{"status":"affected","version":"0.10.1","versionType":"PyPI"},{"status":"affected","version":"0.10.1.1","versionType":"PyPI"},{"status":"affected","version":"0.10.2","versionType":"PyPI"},{"status":"affected","version":"0.11.0","versionType":"PyPI"},{"status":"affected","version":"0.11.1","versionType":"PyPI"},{"status":"affected","version":"0.11.2","versionType":"PyPI"},{"status":"affected","version":"0.12.0","versionType":"PyPI"},{"status":"affected","version":"0.13.0","versionType":"PyPI"},{"status":"affected","version":"0.14.0","versionType":"PyPI"},{"status":"affected","version":"0.14.1","versionType":"PyPI"},{"status":"affected","version":"0.15.0","versionType":"PyPI"},{"status":"affected","version":"0.15.1","versionType":"PyPI"},{"status":"affected","version":"0.16.0","versionType":"PyPI"},{"status":"affected","version":"0.17.0","versionType":"PyPI"},{"status":"affected","version":"0.17.1","versionType":"PyPI"},{"status":"affected","version":"0.18.0","versionType":"PyPI"},{"status":"affected","version":"0.18.1","versionType":"PyPI"},{"status":"affected","version":"0.19.0","versionType":"PyPI"},{"status":"affected","version":"0.19.1","versionType":"PyPI"},{"status":"affected","version":"0.2.0","versionType":"PyPI"},{"status":"affected","version":"0.2.1","versionType":"PyPI"},{"status":"affected","version":"0.2.1.post1","versionType":"PyPI"},{"status":"affected","version":"0.2.2","versionType":"PyPI"},{"status":"affected","version":"0.2.3","versionType":"PyPI"},{"status":"affected","version":"0.2.4","versionType":"PyPI"},{"status":"affected","version":"0.2.5","versionType":"PyPI"},{"status":"affected","version":"0.2.6","versionType":"PyPI"},{"status":"affected","version":"0.2.7","versionType":"PyPI"},{"status":"affected","version":"0.20.0","versionType":"PyPI"},{"status":"affected","version":"0.20.1","versionType":"PyPI"},{"status":"affected","version":"0.20.2","versionType":"PyPI"},{"status":"affected","version":"0.21.0","versionType":"PyPI"},{"status":"affected","version":"0.22.0","versionType":"PyPI"},{"status":"affected","version":"0.22.1","versionType":"PyPI"},{"status":"affected","version":"0.23.0","versionType":"PyPI"},{"status":"affected","version":"0.24.0","versionType":"PyPI"},{"status":"affected","version":"0.25.0","versionType":"PyPI"},{"status":"affected","version":"0.25.1","versionType":"PyPI"},{"status":"affected","version":"0.26.0","versionType":"PyPI"},{"status":"affected","version":"0.27.0","versionType":"PyPI"},{"status":"affected","version":"0.27.1","versionType":"PyPI"},{"status":"affected","version":"0.28.0","versionType":"PyPI"},{"status":"affected","version":"0.29.0","versionType":"PyPI"},{"status":"affected","version":"0.3.0","versionType":"PyPI"},{"status":"affected","version":"0.3.1","versionType":"PyPI"},{"status":"affected","version":"0.3.2","versionType":"PyPI"},{"status":"affected","version":"0.3.3","versionType":"PyPI"},{"status":"affected","version":"0.30.0","versionType":"PyPI"},{"status":"affected","version":"0.31.0","versionType":"PyPI"},{"status":"affected","version":"0.4.0","versionType":"PyPI"},{"status":"affected","version":"0.4.0.post1","versionType":"PyPI"},{"status":"affected","version":"0.4.1","versionType":"PyPI"},{"status":"affected","version":"0.4.2","versionType":"PyPI"},{"status":"affected","version":"0.4.3","versionType":"PyPI"},{"status":"affected","version":"0.5.0","versionType":"PyPI"},{"status":"affected","version":"0.5.0.post1","versionType":"PyPI"},{"status":"affected","version":"0.5.1","versionType":"PyPI"},{"status":"affected","version":"0.5.2","versionType":"PyPI"},{"status":"affected","version":"0.5.3","versionType":"PyPI"},{"status":"affected","version":"0.5.3.post1","versionType":"PyPI"},{"status":"affected","version":"0.5.4","versionType":"PyPI"},{"status":"affected","version":"0.5.5","versionType":"PyPI"},{"status":"affected","version":"0.6.0","versionType":"PyPI"},{"status":"affected","version":"0.6.1","versionType":"PyPI"},{"status":"affected","version":"0.6.1.post1","versionType":"PyPI"},{"status":"affected","version":"0.6.1.post2","versionType":"PyPI"},{"status":"affected","version":"0.6.2","versionType":"PyPI"},{"status":"affected","version":"0.6.3","versionType":"PyPI"},{"status":"affected","version":"0.6.3.post1","versionType":"PyPI"},{"status":"affected","version":"0.6.4","versionType":"PyPI"},{"status":"affected","version":"0.6.4.post1","versionType":"PyPI"},{"status":"affected","version":"0.6.5","versionType":"PyPI"},{"status":"affected","version":"0.6.6","versionType":"PyPI"},{"status":"affected","version":"0.6.6.post1","versionType":"PyPI"},{"status":"affected","version":"0.7.0","versionType":"PyPI"},{"status":"affected","version":"0.7.1","versionType":"PyPI"},{"status":"affected","version":"0.7.2","versionType":"PyPI"},{"status":"affected","version":"0.7.3","versionType":"PyPI"},{"status":"affected","version":"0.8.0","versionType":"PyPI"},{"status":"affected","version":"0.8.1","versionType":"PyPI"},{"status":"affected","version":"0.8.2","versionType":"PyPI"},{"status":"affected","version":"0.8.3","versionType":"PyPI"},{"status":"affected","version":"0.8.4","versionType":"PyPI"},{"status":"affected","version":"0.8.5","versionType":"PyPI"},{"status":"affected","version":"0.8.5.post1","versionType":"PyPI"},{"status":"affected","version":"0.9.0","versionType":"PyPI"},{"status":"affected","version":"0.9.0.1","versionType":"PyPI"},{"status":"affected","version":"0.9.1","versionType":"PyPI"},{"status":"affected","version":"0.9.2","versionType":"PyPI"},{"events":[{"introduced":"0"},{"fixed":"0.32.0"}],"status":"unknown","version":"0","versionType":"ECOSYSTEM"}]}],"cveId":"CVE-2026-115916","cwes":["CWE-129","CWE-193"],"description":"vLLM is an inference and serving engine for large language models. Prior to 0.32.0, vllm/tokenizers/hf.py computes max_token_id with an off-by-one upper bound, allowing a pre-tokenized prompt ID equal to the vocabulary size to pass validation. For a tensor-parallel size of one and an exact multiple-of-64 vocabulary, VocabParallelEmbedding.forward does not mask that value before F.embedding uses it, causing a CUDA device-side assertion and terminating the engine. This issue is fixed in version 0.32.0.","epss":{"date":"2026-11-02","percentile":0.24082,"score":0.00312},"exploits":[],"kev":null,"metrics":[{"score":6.5,"severity":"medium","source":"CNA: GitHub_M","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H","version":"3.1"}],"modifiedAt":1793641828478,"publishedAt":1793035097582,"references":[{"source":"CNA: GitHub_M","tags":["x_refsource_CONFIRM"],"url":"https://github.com/vllm-project/vllm/security/advisories/GHSA-q97c-p368-75c4"},{"source":"CNA: GitHub_M","tags":["x_refsource_MISC"],"url":"https://github.com/vllm-project/vllm/pull/59491"},{"source":"CNA: GitHub_M","tags":["x_refsource_MISC"],"url":"https://github.com/vllm-project/vllm/commit/37cecc8141e2dcba9dd534897a164d4baaf27229"},{"source":"CNA: GitHub_M","tags":["x_refsource_MISC"],"url":"https://github.com/vllm-project/vllm/releases/tag/v0.32.0"},{"source":"OSV / GitHub Security Advisories","tags":["advisory"],"url":"https://github.com/advisories/GHSA-q97c-p368-75c4"},{"source":"OSV / GitHub Security Advisories","tags":["osv"],"url":"https://osv.dev/vulnerability/GHSA-q97c-p368-75c4"}],"remediation":[{"kind":"fix","source":"OSV GHSA-q97c-p368-75c4","text":"vllm (PyPI): OSV reports a fixed version 0.32.0. Check the advisory for supported release branches.","url":"https://github.com/advisories/GHSA-q97c-p368-75c4"}],"revision":"16dfc157c420d48a711d2260d744ad301117e1fba65cef4e9f77a5e8a10a1959","sources":[{"modifiedAt":1793641828478,"name":"CNA: GitHub_M","retrievedAt":1793642942776,"url":"https://www.cve.org/CVERecord?id=CVE-2026-115916"},{"modifiedAt":1793272241396,"name":"OSV / GitHub Security Advisories","retrievedAt":1793642943489,"url":"https://osv.dev/vulnerability/GHSA-q97c-p368-75c4"},{"modifiedAt":null,"name":"FIRST EPSS","retrievedAt":1793642950808,"url":"https://api.first.org/data/v1/epss?cve=CVE-2026-115916"}],"ssvc":{"assessedAt":1793641785650,"automatable":"no","exploitation":"none","source":"ADP: CISA-ADP","technicalImpact":"partial"},"status":"published","title":"vLLM: Out-of-vocabulary prompt token id passes input validation and triggers a CUDA device-side assert (engine crash / DoS)","updatedAt":1793642950808}