Skip to main content

vLLM EUVDEUVD-2026-58064

| CVE-2026-73557 MEDIUM
Race Condition (CWE-362)
2026-08-13 GitHub_M GHSA-pr7f-p5mw-fc87
6.3
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Submit concurrent POST /v1/chat/completions with malicious sparse tensor
  2. Delivery
    Race asyncio.gather thread pool for global invariant state
  3. Exploit
    Thread A enables guard, Thread B enters window
  4. Execution
    Thread A exits and disables global guard
  5. Persist
    Thread B deserializes invalid sparse tensor unchecked
  6. Impact
    Invalid tensor reaches to_dense(), disrupts inference availability

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V15 - Secure Coding and Architecture Concurrency control, locking
MITRE ATT&CK

1 technique across 1 tactic: Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires enable_prompt_embeds to be explicitly set in the vLLM server configuration - this is a non-default setting that must be deliberately enabled by operators to support multimodal prompt embedding workflows. The attacker must be able to submit concurrent POST /v1/chat/completions requests carrying arbitrary prompt_embeds payloads; depending on deployment, the API may be exposed without authentication (CVSS PR:N assessment) or behind access controls not modeled in the base score. The race requires near-simultaneous concurrent requests to achieve the Thread A-enter / Thread B-enter / Thread A-exit / Thread B-load interleaving, captured by the CVSS 4.0 AT:P (Attack Requirements: Present). Exploitation is bounded to the prompt embedding deserialization path and does not provide code execution, credential access, or lateral movement - only availability impact to the vLLM inference process.

Impact

The CVSS 4.0 base vector (AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N, score 6.3) characterizes this as a network-reachable, low-complexity, unauthenticated attack with an attack requirement (AT:P) reflecting the non-default enable_prompt_embeds configuration. Impact is limited to vulnerable-system availability at Low severity, meaning partial disruption rather than complete service crash. The metadata tag 'Information Disclosure' conflicts with the CVSS VC:N rating; no confidentiality impact is substantiated by the description or diff, and this discrepancy should be verified with the vendor. No EPSS data was provided. With no KEV listing, no public exploit, a non-default feature flag requirement, and Low availability impact, this is a low-to-medium real-world priority - meaningful for ML inference infrastructure teams using prompt embeddings but not broadly urgent. The race condition adds timing dependency that the CVSS 4.0 AT:P appropriately captures; however, AC:L suggests the race window is not considered a significant engineering barrier given modern concurrent HTTP frameworks.

Exploit ScenarioDerived

An attacker with access to a vLLM API endpoint (with enable_prompt_embeds enabled) sends two near-simultaneous POST /v1/chat/completions requests: one containing a legitimate prompt embedding and one containing a crafted malicious sparse tensor with out-of-bounds indices constructed with check_invariants=False. The asyncio.gather-dispatched thread pool creates the race window where Thread A enables the invariant check, Thread B's malicious tensor is deserialized during that window, Thread A completes and restores the disabled state, and Thread B's tensor then reaches to_dense() without the guard active - causing a runtime error or availability disruption. No public proof-of-concept exploit exists, though the security advisory and PR #48583 test code fully document the attack interleaving.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.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 – Aug 13, 2026

Race condition in vLLM's prompt embedding loader allows concurrent API requests to bypass the sparse tensor invariant guard introduced for CVE-2025-62164, permitting an invalid sparse tensor to reach tensor.to_dense() and cause availability disruption. Affected deployments span versions 0.20.2rc0 through 0.25.x and are limited to instances with enable_prompt_embeds explicitly enabled. No public exploit code or CISA KEV listing exists at time of analysis; the fix is confirmed in v0.26.0.

RemediationAI

Upgrade vLLM to version 0.26.0 or later, which replaces the non-thread-safe torch.sparse.check_sparse_tensor_invariants context manager with the thread-safe check_sparse_tensor_invariants_threadsafe locking wrapper, as implemented in commit 793cf79c89d4049124e756915468ac30318f2e50 (https://github.com/vllm-project/vllm/commit/793cf79c89d4049124e756915468ac30318f2e50) and released at https://github.com/vllm-project/vllm/releases/tag/v0.26.0. If immediate upgrade is not feasible, disable the enable_prompt_embeds feature flag in the vLLM server configuration, which entirely removes the vulnerable code path; note this will break any multimodal workflows that depend on pre-computed prompt embeddings submitted through the API. As an additional layer, restricting access to the POST /v1/chat/completions endpoint via API gateway authentication or network-level controls limits exposure to trusted callers, though this does not fix the underlying race.

Affected VersionsENISA

vllm 0.20.2rc0, < 0.26.0

Affected Packages

pypi vllm fix: 0.26.0
euvd vllm_0_20_2rc0 fix: 0.26.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in pypi, euvd

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

Technical ContextAI · show details

vLLM (cpe:2.3:a:vllm-project:vllm:*:*:*:*:*:*:*:*) is a high-throughput LLM inference and serving engine that supports multimodal prompt embeddings via the POST /v1/chat/completions endpoint. The vulnerable function safe_load_prompt_embeds in vllm/renderers/embed_utils.py relies on PyTorch's torch.sparse.check_sparse_tensor_invariants context manager, which operates on process-global state through save, enable, and restore operations. CWE-362 (Concurrent Execution Using Shared Resource with Improper Synchronization) is the root cause: when AsyncMultiModalItemTracker.resolve_items dispatches multiple embedding loads concurrently via asyncio.gather and the default thread executor, Thread A's enabled-guard window overlaps with Thread B's tensor loading, but Thread B completes its load after Thread A restores the global state to disabled. The CVE-2025-62164 guard thus executes under Thread A's enable window but is effectively absent when Thread B's malicious sparse tensor is deserialized, allowing it to reach to_dense() unchecked. The fix in PR #48583 introduces check_sparse_tensor_invariants_threadsafe, a threading-lock-protected wrapper that serializes the critical section.

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 (GitHub_M) PRIMARY 6.3 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
vuln.today AI 3.7 LOW

Race condition requires precise thread interleaving timing (AC:H); no authentication needed for API access (PR:N); impact is availability-only at Low severity with unchanged scope.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

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

Lifecycle Timeline

1
Patch available
Aug 13, 2026 - 16:18 EUVD

DescriptionCVE.org

vLLM is an inference and serving engine for large language models. From 0.20.2rc0 until 0.26.0, safe_load_prompt_embeds in vllm/renderers/embed_utils.py uses torch.sparse.check_sparse_tensor_invariants, whose process-global save, enable, and restore state can be raced by concurrent prompt_embeds parts submitted to POST /v1/chat/completions through AsyncMultiModalItemTracker.resolve_items, asyncio.gather, and the default executor, allowing an invalid sparse tensor to reach tensor.to_dense despite the CVE-2025-62164 guard when enable_prompt_embeds is enabled. This issue is fixed in version 0.26.0.

Blast Radius

ecosystem impact
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 1 pypi packages depend on vllm (1 direct, 0 indirect)

Ecosystem-wide dependent count for version 0.21.0.

Threat Intelligence Overview

EPSS Score
0.3%
Top 83% exploitable
Prevalence
Medium
fast-growing LLM inference server, widely adopted in ML infrastructure
Threat Intel
1
1 source
Exploit
POC
Public exploit code exists
Data Quality
8 sources
Confidence: High
EUVD 🇯🇵JVN NVD CVE.org EPSS Vulnrichment GHSA Vendor GitHub VulDB

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 MEDIUM
CISA KEV No
Public POC Yes
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

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

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

Race conditions occur when multiple concurrent requests exploit the brief time gap between checking a condition and acting upon it (TOCTOU - Time of Check, Time of Use).

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-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-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

CVE-2026-22773 MEDIUM POC
6.5 Jan 10

Vllm versions up to 0.12.0 is affected by allocation of resources without limits or throttling (CVSS 6.5).

CVE-2026-22807 CRITICAL
9.8 Jan 21

Remote code execution in vLLM 0.10.1 through 0.13.x lets an attacker who controls the model repository or path run arbit

Vendor StatusVendor

SUSE

Severity: Moderate

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