{"id":"CVE-2026-116180","kind":"vulnerability","aliases":["CVE-2026-116180"],"related":[],"title":"vLLM: crafted prompt_logprobs request crashes the engine and drops all requests","description":"vLLM from 0.8.5 before 0.31.0 has a denial of service flaw. LogprobsTensors.empty_cpu() in vllm/v1/outputs.py allocates an uninitialized int32 tensor, and the V1 model runner leaves prompt positions reported as computed by a KV connector unwritten. A client sharing the engine can send prompt_logprobs (or echo with logprobs) against a connector-cached prefix, making tokenizer decode raise OverflowError, which crashes EngineCore and drops all co-tenant requests.","summary":"A flaw in vLLM's V1 engine lets a client that shares the engine send a request with prompt_logprobs (or echo with logprobs) against a KV-connector-cached prefix. The resulting tokenizer OverflowError crashes EngineCore and drops every co-tenant request.","severity":"high","cvss":8.3,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["ai-tooling","llm-serving","python","self-hosted","vllm"],"not_affected_if":["no-kv-connector","single-tenant","version-0.31.0-or-later"],"how_to_check":"- Check the installed version with `pip show vllm` or `python -c \"import vllm; print(vllm.__version__)\"`; versions from 0.8.5 up to but not including 0.31.0 are listed as affected.\n- Check whether the deployment uses a KV connector (the V1 engine with a KV transfer config) and accepts requests with prompt_logprobs or echo enabled from untrusted clients.","fix":"- Upgrade vLLM to `0.31.0` or later.\n- Until upgraded, reject or strip prompt_logprobs and echo-with-logprobs requests at the gateway in front of vLLM.","status":"open","published_at":"2026-10-25T14:16:57+00:00","first_seen_at":"2026-10-25T14:41:23+00:00","triaged_at":"2026-10-25T14:42:22+00:00","updated_at":"2026-10-25T14:42:22+00:00","category":"ai-tooling","confidence":0.6,"triage":{"at":"2026-10-25T14:42:22Z","model":"claude-haiku-5-5","output":{"fix":"- Upgrade vLLM to `0.31.0` or later.\n- Until upgraded, reject or strip prompt_logprobs and echo-with-logprobs requests at the gateway in front of vLLM.","reach":"unknown","title":"vLLM: crafted prompt_logprobs request crashes the engine and drops all requests","impact":"medium","summary":"A flaw in vLLM's V1 engine lets a client that shares the engine send a request with prompt_logprobs (or echo with logprobs) against a KV-connector-cached prefix. The resulting tokenizer OverflowError crashes EngineCore and drops every co-tenant request.","category":"ai-tooling","nicknames":[],"who_cares":["vllm","python","self-hosted","llm-serving"],"confidence":0.6,"needs_auth":"unknown","worst_case":"A client crashes the shared inference engine and drops all co-tenant requests.","analyst_note":"Confirm the request path reachable by clients and the exact KV connector configuration needed; check the NVD entry and the vLLM 0.31.0 release notes.","how_to_check":"- Check the installed version with `pip show vllm` or `python -c \"import vllm; print(vllm.__version__)\"`; versions from 0.8.5 up to but not including 0.31.0 are listed as affected.\n- Check whether the deployment uses a KV connector (the V1 engine with a KV transfer config) and accepts requests with prompt_logprobs or echo enabled from untrusted clients.","needs_analyst":true,"not_affected_if":["version-0.31.0-or-later","single-tenant","no-kv-connector"],"who_is_affected":"Deployments running vLLM 0.8.5 up to 0.31.0 that serve multiple clients from one engine and use a KV connector for prefix caching are exposed. Single-tenant setups without a KV connector, or ones where clients are fully trusted, carry much less risk.","user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"high"},"cost_usd":0.000689,"input_tokens":3391,"output_tokens":699,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-116180':15A,18A '-2026':14A,17A '0.31.0':78C '0.8.5':76C 'ai':20B 'ai-tool':19B 'alloc':89C 'cach':59B,127C 'client':39B,111C 'co':71B,141C 'co-ten':70B,140C 'comput':104C 'connector':58B,108C,126C 'connector-cach':125C 'cpu':86C 'craft':2A 'crash':6A,65B,135C 'cve':13A,16A 'decod':131C 'denial':81C 'drop':10A,68B,138C 'echo':51B,120C 'engin':8A,36B,43B,114C 'enginecor':66B,136C 'everi':69B 'flaw':31B,84C 'host':28B 'int32':92C 'kv':57B,107C 'kv-connector-cach':56B 'leav':99C 'let':37B 'llm':23B 'llm-serv':22B 'logprob':4A,49B,53B,118C,122C 'logprobstensors.empty':85C 'make':129C 'model':97C 'overflowerror':64B,133C 'posit':101C 'prefix':60B,128C 'prompt':3A,48B,100C,117C 'python':25B 'rais':132C 'report':102C 'request':5A,12A,46B,73B,143C 'result':62B 'runner':98C 'self':27B 'self-host':26B 'send':44B,116C 'serv':24B 'servic':83C 'share':41B,112C 'tenant':72B,142C 'tensor':93C 'token':63B,130C 'tool':21B 'uniniti':91C 'unwritten':109C 'v1':35B,96C 'vllm':1A,29B,33B,74C 'vllm/v1/outputs.py':88C","nicknames":[],"mitigations":[],"who_affected":"Deployments running vLLM 0.8.5 up to 0.31.0 that serve multiple clients from one engine and use a KV connector for prefix caching are exposed. Single-tenant setups without a KV connector, or ones where clients are fully trusted, carry much less risk.","tier":"B","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-25T14:16:57+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:H/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","cvss_by":"disclosure@vulncheck.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-116180","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-116180","severity":null,"published_at":"2026-10-25T14:16:57+00:00","modified_at":"2026-10-25T14:16:57+00:00","first_seen_at":"2026-10-25T14:41:23+00:00","fetched_at":"2026-10-25T14:41:23+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}