CVE-2026-116173: vLLM: gRPC logprob limit bypass crashes EngineCore

HIGH
Published October 25, 2026
CISO Take

CVE-2026-116173 is a denial-of-service flaw in vLLM 0.22.0 through 0.23.x where the Rust gRPC frontend fails to enforce the logprob_token_ids limit, so a single crafted Generate or GenerateStream request with more than 128 output_candidates.token_ids and output_logprobs enabled triggers a fatal sampler exception that terminates EngineCore. It is rated medium (CVSS 5.9, high attack complexity, no privileges or user interaction needed), and no EPSS score, public exploit, Nuclei template, or CISA KEV listing exists at this time, so near-term mass exploitation looks unlikely. The practical risk is availability: one crashed engine takes down the whole inference service for every tenant or application that depends on it, which matters for production LLM endpoints that expose the gRPC interface to untrusted or semi-trusted networks. Upgrade to vLLM 0.24.0 or later, and until then restrict gRPC frontend access to trusted clients, enforce request validation at a gateway, and ensure automatic engine restarts with alerting on EngineCore crashes.

Sources:NVDGitHub AdvisoryVulnCheckATLAS

What is the risk?

Low-to-medium overall. Exploitation is remote and unauthenticated, but the CVSS vector marks attack complexity as high, and impact is limited to availability (A:H, no confidentiality or integrity impact). No KEV listing, public exploit, or scanner template is known, and EPSS is unavailable. Exposure is concentrated in deployments that run the newer Rust gRPC frontend (introduced in the 0.22.x line) and make it reachable by untrusted clients. For those deployments, a single request can cause a full engine outage, so business risk rises with service criticality and the absence of automatic recovery.

How does the attack unfold?

Initial Access
Attacker reaches the exposed vLLM gRPC frontend over the network without authentication.
AML.T0040
Exploitation
Attacker sends Generate or GenerateStream with output_logprobs enabled and more than 128 output_candidates.token_ids, bypassing the limit.
AML.T0049
Impact
The sampler raises a fatal exception, EngineCore terminates, and the inference service goes down for all users.
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.5 / 10
EPSS
0.3%
chance of exploitation in 30 days
Higher than 27% of all CVEs
Exploitation Status
No known exploitation
Sophistication
Trivial

What is the attack surface?

AVACPRUISCIA
AVNetwork
ACLow
PRNone
UINone
SUnchanged
CNone
INone
AHigh

What should I do?

1 step
  1. 1) Upgrade vLLM to 0.24.0 or later. 2) If patching is delayed, disable the Rust gRPC frontend or restrict it with network ACLs, mTLS, or a service mesh so only trusted clients can reach it. 3) Place an API gateway or proxy in front that rejects requests where output_logprobs is enabled and output_candidates.token_ids exceeds 128. 4) Run vLLM under a supervisor (Kubernetes, systemd) with automatic restart, health checks, and multi-replica redundancy. 5) Detect by alerting on EngineCore fatal sampler exceptions and unexpected process exits, and by reviewing gRPC logs for Generate/GenerateStream requests with unusually large token_ids lists. 6) Apply rate limiting and authentication on the inference endpoint.

How is it classified?

Which compliance frameworks are affected?

This CVE is relevant to:

EU AI Act
Article 15-Accuracy, robustness and cybersecurity
ISO 42001
A.6.2.6-AI system operation and monitoring
NIST AI RMF
MANAGE 2.3-Response to unknown risks and system failures
OWASP LLM Top 10
LLM10-Unbounded Consumption

Frequently Asked Questions

What is CVE-2026-116173?

CVE-2026-116173 is a denial-of-service flaw in vLLM 0.22.0 through 0.23.x where the Rust gRPC frontend fails to enforce the logprob_token_ids limit, so a single crafted Generate or GenerateStream request with more than 128 output_candidates.token_ids and output_logprobs enabled triggers a fatal sampler exception that terminates EngineCore. It is rated medium (CVSS 5.9, high attack complexity, no privileges or user interaction needed), and no EPSS score, public exploit, Nuclei template, or CISA KEV listing exists at this time, so near-term mass exploitation looks unlikely. The practical risk is availability: one crashed engine takes down the whole inference service for every tenant or application that depends on it, which matters for production LLM endpoints that expose the gRPC interface to untrusted or semi-trusted networks. Upgrade to vLLM 0.24.0 or later, and until then restrict gRPC frontend access to trusted clients, enforce request validation at a gateway, and ensure automatic engine restarts with alerting on EngineCore crashes.

Is CVE-2026-116173 actively exploited?

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

How to fix CVE-2026-116173?

1) Upgrade vLLM to 0.24.0 or later. 2) If patching is delayed, disable the Rust gRPC frontend or restrict it with network ACLs, mTLS, or a service mesh so only trusted clients can reach it. 3) Place an API gateway or proxy in front that rejects requests where output_logprobs is enabled and output_candidates.token_ids exceeds 128. 4) Run vLLM under a supervisor (Kubernetes, systemd) with automatic restart, health checks, and multi-replica redundancy. 5) Detect by alerting on EngineCore fatal sampler exceptions and unexpected process exits, and by reviewing gRPC logs for Generate/GenerateStream requests with unusually large token_ids lists. 6) Apply rate limiting and authentication on the inference endpoint.

What systems are affected by CVE-2026-116173?

This vulnerability affects the following AI/ML architecture patterns: model serving, LLM inference endpoints, gRPC-based inference backends, RAG pipelines, agent frameworks.

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

CVE-2026-116173 has a CVSS v3.1 base score of 7.5 (HIGH). The EPSS exploitation probability is 0.34%.

What is the AI security impact?

Affected AI Architectures

model servingLLM inference endpointsgRPC-based inference backendsRAG pipelinesagent frameworks

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: Article 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.22.0 before 0.24.0 contains a denial of service vulnerability that allows remote attackers to terminate EngineCore by bypassing logprob_token_ids limits in the Rust gRPC frontend. Attackers can send Generate or GenerateStream requests with output_logprobs enabled and more than 128 output_candidates.token_ids, triggering a fatal sampler exception that crashes the engine.

Exploitation Scenario

An attacker finds a vLLM gRPC inference endpoint reachable from the internet or an internal network segment, for example one that is exposed through a misconfigured load balancer. They confirm a vulnerable version, then send a Generate or GenerateStream request with output_logprobs set and more than 128 token IDs in output_candidates. The oversized list bypasses the intended limit and reaches the sampler, which raises a fatal exception and kills EngineCore. The attacker repeats the request each time the service restarts, keeping the LLM service unavailable and disrupting dependent applications.

Weaknesses (CWE)

CWE-20 — Improper Input Validation: The product receives input or data, but it does not validate or incorrectly validates that the input has the properties that are required to process the data safely and correctly.

  • [Architecture and Design] Consider using language-theoretic security (LangSec) techniques that characterize inputs using a formal language and build "recognizers" for that language. This effectively requires parsing to be a distinct layer that effectively enforces a boundary between raw input and internal data representations, instead of allowing parser code to be scattered throughout the program, where it could be subject to errors or inconsistencies that create weaknesses. [REF-1109] [REF-1110] [REF-1111]
  • [Architecture and Design] Use an input validation framework such as Struts or the OWASP ESAPI Validation API. Note that using a framework does not automatically address all input validation problems; be mindful of weaknesses that could arise from misusing the framework itself (CWE-1173).

Source: MITRE CWE corpus.

CVSS Vector

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

Timeline

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

Related Vulnerabilities