CVE-2026-116180: vLLM: uninitialized tensor lets tenant crash engine

HIGH
Published October 25, 2026
CISO Take

CVE-2026-116180 is a denial-of-service flaw in vLLM 0.8.5 through 0.30.x: an uninitialized logprobs tensor lets any authenticated client crash the shared inference engine. Any user who can send prompt_logprobs (or echo with logprobs) against a prefix cached by a KV connector triggers a tokenizer OverflowError that kills EngineCore, dropping every co-tenant request. The CVSS of 7.7 reflects a changed scope (S:C), meaning one low-privileged tenant can take down all others on a multi-tenant platform. No public exploit, Nuclei template, KEV listing or EPSS score exists yet, so exploitation is not observed, but the attack is low complexity and needs only API access. Upgrade to vLLM 0.31.0 or later, and until then block prompt_logprobs and echo+logprobs requests at the gateway for untrusted tenants.

Sources:NVDGitHub Advisoryvulncheck.comATLAS

What is the risk?

High for multi-tenant or shared vLLM deployments that use a KV connector (for example prefix cache offload or disaggregated prefill/decode). Exploitation is network-reachable, low complexity, needs low privileges and no user interaction. Impact is limited to availability (A:H), but the scope change means one tenant affects all others. Single-tenant or internal-only deployments without KV connectors carry much lower risk. No exploitation evidence, EPSS data or public PoC exists at publication, so confidence in near-term mass exploitation is low; the main risk is a malicious or careless tenant.

How does the attack unfold?

Initial Access
Attacker uses a low-privilege API key on a shared vLLM endpoint.
AML.T0040
Exploitation
Attacker sends prompt_logprobs or echo+logprobs against a connector-cached prefix, so uninitialized tensor values reach the tokenizer.
AML.T0049
Impact
Tokenizer decode raises OverflowError, crashing EngineCore and dropping all co-tenant requests.
AML.T0029

What systems are affected?

PackageEcosystemVulnerable RangePatched
vLLMpip—No patch
95.4K94 dependentsPushed 6d ago27% patched~37d to patchFull package profile →

Do you use vLLM? You're affected.

How severe is it?

CVSS 3.1
7.7 / 10
EPSS
0.3%
chance of exploitation in 30 days
Higher than 17% of all CVEs
Exploitation Status
No known exploitation
Sophistication
Trivial

What is the attack surface?

AVACPRUISCIA
AVNetwork
ACLow
PRLow
UINone
SChanged
CNone
INone
AHigh

What should I do?

1 step
  1. 1) Upgrade vLLM to 0.31.0 or later. 2) Until patched, reject or strip prompt_logprobs and echo-with-logprobs parameters for untrusted or low-trust tenants at the API gateway or reverse proxy. 3) If feasible, disable KV connector prefix reuse on shared instances. 4) Run vLLM under a supervisor with automatic restart and health checks, and isolate tenants onto separate engine instances where risk warrants. 5) Detect by alerting on EngineCore crashes, OverflowError stack traces in tokenizer decode, and requests that include prompt_logprobs or echo with logprobs followed by service restarts. 6) Rate-limit and attribute per-tenant requests to identify the offending caller.

How is it classified?

Which compliance frameworks are affected?

This CVE is relevant to:

EU AI Act
Art. 15-Accuracy, robustness and cybersecurity
ISO 42001
A.6.2.6-AI system operation and monitoring
NIST AI RMF
MANAGE 2.3-Response to previously unknown risks and mechanisms to supersede or deactivate AI systems
OWASP LLM Top 10
LLM10-Unbounded Consumption

Frequently Asked Questions

What is CVE-2026-116180?

CVE-2026-116180 is a denial-of-service flaw in vLLM 0.8.5 through 0.30.x: an uninitialized logprobs tensor lets any authenticated client crash the shared inference engine. Any user who can send prompt_logprobs (or echo with logprobs) against a prefix cached by a KV connector triggers a tokenizer OverflowError that kills EngineCore, dropping every co-tenant request. The CVSS of 7.7 reflects a changed scope (S:C), meaning one low-privileged tenant can take down all others on a multi-tenant platform. No public exploit, Nuclei template, KEV listing or EPSS score exists yet, so exploitation is not observed, but the attack is low complexity and needs only API access. Upgrade to vLLM 0.31.0 or later, and until then block prompt_logprobs and echo+logprobs requests at the gateway for untrusted tenants.

Is CVE-2026-116180 actively exploited?

No confirmed active exploitation of CVE-2026-116180 has been reported, but organizations should still patch proactively.

How to fix CVE-2026-116180?

1) Upgrade vLLM to 0.31.0 or later. 2) Until patched, reject or strip prompt_logprobs and echo-with-logprobs parameters for untrusted or low-trust tenants at the API gateway or reverse proxy. 3) If feasible, disable KV connector prefix reuse on shared instances. 4) Run vLLM under a supervisor with automatic restart and health checks, and isolate tenants onto separate engine instances where risk warrants. 5) Detect by alerting on EngineCore crashes, OverflowError stack traces in tokenizer decode, and requests that include prompt_logprobs or echo with logprobs followed by service restarts. 6) Rate-limit and attribute per-tenant requests to identify the offending caller.

What systems are affected by CVE-2026-116180?

This vulnerability affects the following AI/ML architecture patterns: model serving, LLM inference, multi-tenant inference platforms, disaggregated prefill/decode serving, shared LLM gateways.

What is the CVSS score for CVE-2026-116180?

CVE-2026-116180 has a CVSS v3.1 base score of 7.7 (HIGH). The EPSS exploitation probability is 0.25%.

What is the AI security impact?

Affected AI Architectures

model servingLLM inferencemulti-tenant inference platformsdisaggregated prefill/decode servingshared LLM gateways

MITRE ATLAS Techniques

AML.T0029Denial of AI Service
AML.T0040AI Model Inference API Access
AML.T0049Exploit Public-Facing Application

Compliance Controls Affected

EU AI Act: Art. 15
ISO 42001: A.6.2.6
NIST AI RMF: MANAGE 2.3
OWASP LLM Top 10: LLM10

What are the technical details?

Original Advisory

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.

Exploitation Scenario

An attacker with a low-privilege API key on a shared internal LLM platform sends a completion request whose prompt matches a prefix already cached through the KV connector, adding prompt_logprobs=1 (or echo=true with logprobs). The runner returns uninitialized values for the connector-computed positions, the tokenizer fails to decode them with OverflowError, and EngineCore terminates. All other tenants' requests, including customer-facing chatbots and agents, fail until the engine is restarted. The attacker repeats the request after each restart to keep the service down.

Weaknesses (CWE)

CWE-908 — Use of Uninitialized Resource: The product uses or accesses a resource that has not been initialized.

  • [Implementation] Explicitly initialize the resource before use. If this is performed through an API function or standard procedure, follow all required steps.
  • [Implementation] Pay close attention to complex conditionals that affect initialization, since some branches might not perform the initialization.

Source: MITRE CWE corpus.

CVSS Vector

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:N/A:H

Timeline

Published
October 25, 2026
Last Modified
October 28, 2026
First Seen
October 25, 2026

Related Vulnerabilities