Skip to main content

vLLM CVE-2026-116173

| EUVDEUVD-2026-109434 HIGH
Improper Input Validation (CWE-20)
2026-10-25 VulnCheck GHSA-7r5r-rrjg-pf3c
8.2
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Reach vLLM Rust gRPC endpoint
  2. Exploit
    Send Generate with output_logprobs and >128 output_candidates.token_ids
  3. Impact
    Sampler raises fatal exception, EngineCore crashes (DoS)

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V2 - Validation and Business Logic Input validation, allowlisting
Exploitation Conditions

Exploitation requires that the deployment expose the vLLM Rust gRPC frontend (the Generate / GenerateStream API) and that the attacker can send it a request. The concrete trigger is a request with ResponseOptions.output_logprobs = true and output_candidates.token_ids set to a list of more than 128 token IDs; the Rust converter lowers this into SamplingParams.logprob_token_ids without any length, vocabulary, or logprobs-count consistency check. Limiting factors: only the Rust gRPC path is affected (the Python SamplingParams validator and HTTP/OpenAI-style paths enforce the 128 cap, so those are not vulnerable), the engine must be running the V1 GPU logprob sampler path, and realistic risk depends on whether the gRPC endpoint is network-reachable to untrusted callers versus gated behind a deployment-layer credential. Impact is limited to availability (engine crash); no data access or code execution.

Impact

Signals point to a genuine but bounded availability risk. The impact is confirmed single-request denial of service - an uncaught sampler exception terminates EngineCore - with no confidentiality or integrity impact (VC:N/VI:N, VA:H). The input CVSS 4.0 vector (8.2) and the GHSA writeup conflict on exploitation difficulty: the official vector encodes AC:H/AT:P (high complexity, present attack requirement), but the advisory's own technical analysis and its suggested CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H describe a trivial, deterministic single-request trigger with no race, timing, or attacker-uncontrolled precondition - so AC:H/AT:P appears unjustified by the described mechanism and should be verified with the CNA. Authentication is ambiguous: PR:N applies if the Rust gRPC endpoint is network-reachable without a deployment-layer credential, but the advisory explicitly offers a conservative PR:L model where the surface is reachable only by already-authorized clients; no vector field resolves this, so the real priority depends on local network exposure. No EPSS score and no CISA KEV entry were provided, and no public exploit is identified in the input. Net: a real, easy-to-trigger DoS worth patching on the vuln.today 'this_week' cadence, but not an actively-exploited emergency; its practical severity hinges on whether the gRPC frontend is exposed to untrusted callers.

Exploit ScenarioDerived

An attacker able to reach a vLLM Rust gRPC frontend sends a single Generate or GenerateStream request with output_logprobs enabled and an output_candidates.token_ids list containing 129 or more IDs. The Rust converter lowers the oversized list into SamplingParams.logprob_token_ids without the Python MAX_LOGPROB_TOKEN_IDS=128 check, so the request enters execution and the GPU logprob sampler raises a fatal exception that EngineCore treats as a fatal engine error, crashing the engine. No public exploit is identified at time of analysis, though the advisory documents the exact triggering request.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 25, 2026

Remote denial of service in vLLM 0.22.0 up to but not including 0.24.0 allows remote attackers (CVSS PR:N) to crash EngineCore by sending a single Generate or GenerateStream request to the Rust gRPC frontend with output_logprobs enabled and more than 128 output_candidates.token_ids. The Rust converter copies those IDs into SamplingParams.logprob_token_ids without the Python-side 128-ID cap, vocabulary check, or logprobs-count consistency check, so the V1 GPU logprob sampler raises a fatal exception after execution begins. Only deployments exposing the Rust gRPC path on the vulnerable V1 sampler are affected; no public exploit identified at time of analysis, and the vuln.today priority is this_week.

RemediationAI

Upgrade vLLM to 0.24.0, the vendor-released patch that adds Rust-side validation of ResponseOptions.output_candidates.token_ids before the request reaches EngineCore; see GHSA-6pgw-f3pv-4h8q at https://github.com/vllm-project/vllm/security/advisories/GHSA-6pgw-f3pv-4h8q and the VulnCheck advisory at https://www.vulncheck.com/advisories/vllm-0.22.0-before-0.24.0-denial-of-service-via-grpc-output-candidates-token-ids. If immediate upgrade is not possible, restrict the Rust gRPC Generate and GenerateStream endpoint to trusted clients using network policy, an authenticating proxy, or firewall rules, and route untrusted inference through the Python/HTTP/OpenAI-style API, which enforces the 128-ID cap; these controls reduce exposure but do not fix the missing validation in the Rust converter. Because the issue is limited to availability and requires reachability of the gRPC frontend, prioritize internet-facing or broadly shared gRPC deployments for upgrade.

Affected VersionsENISA

vllm 0.22.0 <0.24.0

Affected Packages

euvd vllm fix: 0.24.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The flaw is an input-validation failure (CWE-20, with CWE-400/CWE-770 resource-limit aspects noted in the upstream advisory) in the Rust gRPC frontend for vLLM's Generate and GenerateStream APIs. The protobuf ResponseOptions.output_candidates carries a CandidateTokens selector; when output_logprobs is true, the Rust converter lowers output_candidates.token_ids directly into SamplingParams.logprob_token_ids. Python SamplingParams enforces MAX_LOGPROB_TOKEN_IDS = 128, range-checks IDs against the model vocabulary, and requires logprobs to equal the explicit ID count, but the Rust path performs none of these checks. The V1 GPU logprob sampler allocates a fixed (max_num_reqs, 128) StagedWriteTensor row and raises ValueError when more than 128 IDs reach add_request(); EngineCore treats that uncaught worker exception as fatal. The Python validator and HTTP/OpenAI-style request paths enforce the cap and are not vulnerable; the trigger requires the Rust gRPC endpoint and the V1 GPU logprob sampler path. CPE cpe:2.3:a:vllm-project:vllm:*:*:*:*:*:*:*:* identifies the PyPI vllm package.

Know when Vllm gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 8.2 HIGH
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
vuln.today AI 7.5 HIGH

Single deterministic request over the network with no timing or interaction gives AV:N/AC:L/UI:N; PR:N assumes the gRPC endpoint is reachable by untrusted callers; availability-only engine crash yields A:H, C/I:N.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Red Hat 5.9 MEDIUM

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
High
Attack Requirements
Present
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Oct 25, 2026 - 14:01 EUVD
CVE Published
Oct 25, 2026 - 13:20 cve.org
HIGH 8.2

DescriptionCVE.org

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.

Technical POC Analysis

CWE-20 (Improper Input Validation); the reporter also suggests CWE-400 / CWE-770 for the resource-shape aspect.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

A high-severity vulnerability in vLLM versions 0.22.0 to 0.23.x allows an unauthenticated remote attacker to crash the inference engine with a single request, causing service disruption for any AI application relying on vLLM for model serving. Leadership should prioritize remediation because affected deployments exposing the Rust gRPC frontend are vulnerable to denial-of-service attacks that can halt business-critical AI services, with no vendor patch currently available.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations include disabling the Rust gRPC frontend or output_logprobs feature, restricting network access to the gRPC endpoint, and implementing request validation or rate limiting to block oversized output_candidates.token_ids.

Threat Intelligence Overview

EPSS Score
0.3%
Top 72% exploitable
Prevalence
Medium
vLLM is widely used for LLM inference, but the Rust gRPC frontend is a specific surface
Social Media
1
Sightings
Data Quality
7 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
High

Priority Score

41
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +41
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

More in Vllm

View all
CVE-2025-32444 CRITICAL POC
10.0 Apr 30

vLLM is a high-throughput and memory-efficient inference and serving engine for LLMs. Rated critical severity (CVSS 10.0

CVE-2024-11041 CRITICAL POC
9.8 Mar 20

vllm-project vllm version v0.6.2 contains a vulnerability in the MessageQueue.dequeue() API function. Rated critical sev

CVE-2026-22778 CRITICAL POC
9.8 Feb 02

Information exposure in vLLM inference engine versions 0.8.3 to before 0.14.1. Invalid image requests to the multimodal

CVE-2025-59425 HIGH POC
7.5 Oct 07

Timing-based API key recovery in vLLM before 0.11.0rc2 can let remote attackers bypass bearer-token authentication on de

CVE-2025-30202 HIGH POC
7.5 Apr 30

vLLM is a high-throughput and memory-efficient inference and serving engine for LLMs. Rated high severity (CVSS 7.5), th

CVE-2026-54234 HIGH POC
7.5 Jul 06

Denial of service in the vLLM LLM inference server (all versions prior to 0.24.0) allows a remote client to crash the sh

CVE-2026-24779 HIGH POC
7.1 Jan 27

vLLM before version 0.14.1 contains a server-side request forgery vulnerability in the MediaConnector class where incons

CVE-2026-57173 MEDIUM POC
6.5 Sep 16

Out-of-memory worker crashes in vLLM can be induced by a single small compressed audio payload submitted to the /v1/chat

CVE-2025-46560 MEDIUM POC
6.5 Apr 30

vLLM is a high-throughput and memory-efficient inference and serving engine for LLMs. Rated medium severity (CVSS 6.5),

CVE-2026-69147 MEDIUM POC
6.5 Sep 16

GPU memory exhaustion in vLLM versions prior to 0.28.0 lets an attacker with low-privileged API access (PR:L in the CVSS

CVE-2026-105753 MEDIUM POC
6.5 Oct 05

Multimodal inference requests to vLLM deployments running versions prior to 0.28.0 can trigger a process-level assertion

CVE-2026-73559 MEDIUM POC
6.5 Aug 13

Uncontrolled resource consumption in vLLM's OpenAI-compatible completions endpoint allows any authenticated API client t

Vendor StatusVendor

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy