Skip to main content

vLLM EUVDEUVD-2026-84221

| CVE-2026-94627 HIGH
Memory Leak (CWE-401)
2026-09-21 disclosure@vulncheck.com GHSA-pjfg-w894-9457
8.7
CVSS 4.0 · Vendor: vulncheck
View

Attack ChainAIDerived

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

  1. Access
    Reach vLLM P/D inference endpoint
  2. Delivery
    Submit completion with multiple prompts
  3. Exploit
    Child requests collide on shared transfer ID
  4. Execution
    Orphaned KV cache blocks accumulate
  5. Persist
    GPU memory exhausted
  6. Impact
    Legitimate requests denied until restart

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Resource cleanup, leak prevention
Exploitation Conditions

Exploitation requires the target vLLM instance (version through 0.29.0) to be deployed in a prefill/decode (P/D) disaggregated configuration using the Mooncake KV-transfer connector - this is the specific, non-default feature that must be enabled; standard single-node vLLM serving is not affected. Given that topology, the attacker submits a completion request containing multiple prompts, whose concurrent child requests reuse a single transfer ID, causing GPU KV cache block ownership mismanagement and a persistent leak. The CVSS marks it unauthenticated (PR:N), remote (AV:N), low complexity (AC:L), with no user interaction, so no special privileges are required beyond reaching the API; the practical limiting factors are the non-default Mooncake/disaggregated deployment and any authentication or network controls fronting the inference endpoint. The leaked blocks persist until process restart, so a modest volume of crafted requests can degrade or deny service.

Impact

The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H, score 8.7) describes a network-reachable, low-complexity, unauthenticated availability-only attack - no confidentiality or integrity impact, which aligns with CWE-401 (memory leak) resulting in resource exhaustion. This is a denial-of-service issue, NOT information disclosure as the single 'Information Disclosure' tag claims; the vector's VC:N/VI:N and VA:H directly contradict that tag. No EPSS score, no CISA KEV listing, and no public POC are present in the input, so this is 'no public exploit identified at time of analysis' - the 8.7 is driven purely by the high, easily-triggered availability impact, not by evidence of real-world exploitation. Real-world risk is strongly gated by a non-default deployment: only vLLM instances running prefill/decode (P/D) disaggregated serving with the Mooncake connector are affected, which is a specialized topology, so the practical priority is far narrower than the headline score suggests. A fix exists (PR #49796) with scheduler-level rejection of duplicate transfer_ids plus worker-side block freeing, making patching the clear mitigation. Note the CVSS marks PR:N (unauthenticated) while many production inference endpoints sit behind an auth gateway - verify exposure before ranking urgency.

Exploit ScenarioDerived

An attacker with network access to a vLLM inference endpoint running Mooncake-based P/D disaggregated serving submits completion requests containing multiple prompts, whose concurrent child requests collide on a single shared transfer ID. Each collision orphans GPU KV cache blocks that are never freed, so repeated requests steadily leak GPU memory until the cache is exhausted and legitimate inference requests can no longer be scheduled, requiring a process restart. No public exploit code is identified, but the trigger (a completion request with multiple prompts) is trivial given the low attack complexity.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.4% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Sep 21, 2026

GPU memory exhaustion in vLLM through 0.29.0 allows remote, unauthenticated attackers to permanently leak GPU KV cache blocks by submitting completion requests containing multiple prompts whose concurrent child requests share a single Mooncake transfer ID. The leak is only reachable in prefill/decode (P/D) disaggregated deployments that have the Mooncake KV-transfer connector enabled - a non-default topology in which the vulnerable ownership bookkeeping runs - and orphaned blocks are never reclaimed until the vLLM process is restarted, progressively starving legitimate inference requests of GPU memory. No public exploit code has been identified at time of analysis and the flaw is not listed in CISA KEV, though the attack is network-reachable, low-complexity, and requires no authentication or user interaction (CVSS 4.0 8.7; independent assessment scores the availability-only impact as CVSS 3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H).

RemediationAI

Upstream fix available (PR/commit); released patched version not independently confirmed - the correction is carried in https://github.com/vllm-project/vllm/pull/49796, which adds scheduler-side rejection of duplicate active transfer_ids, neutralizes do_remote_decode on the rejected request, and adds worker-side cleanup that frees blocks overwritten by a colliding transfer ID; teams should track that pull request for the first tagged vLLM release containing it and upgrade once it ships, rather than assuming 0.29.0 or any earlier tag is fixed. Until then, the most effective compensating control is to avoid running the Mooncake connector in P/D disaggregated mode (fall back to non-disaggregated serving), accepting the loss of prefill/decode scaling; if the deployment must stay disaggregated, place authentication and request-rate limiting in front of the inference API, since the assessed vector is unauthenticated and the leak is cumulative across requests, and monitor GPU KV cache utilization per worker so leak growth is visible before legitimate requests begin failing. Because orphaned blocks are only reclaimed by process restart, operators should treat a restart of the affected vLLM producer/consumer processes as the recovery action when exhaustion is detected - a disruptive but reliable trade-off - and should also consider constraining how many prompts a single completion request may contain, which reduces concurrency within one request and therefore the probability of a transfer-ID collision even without the code fix.

Affected VersionsENISA

vllm 0 ≤0.29.0

Affected Packages

euvd vllm no fix

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

vLLM's disaggregated serving mode splits inference into separate prefill (producer) and decode (consumer) workers that exchange KV cache blocks over an out-of-band transport; the Mooncake connector (vllm/distributed/kv_transfer/kv_connector/v1/mooncake/mooncake_connector.py) is one such implementation, and the vulnerable bookkeeping sits around lines 1978-1989 of the v0.29.0 tree. Each transfer is keyed by a caller-supplied transfer_id, which the scheduler is expected to treat as a unique handle to an in-flight KV block set. The root cause is CWE-401 (Missing Release of Memory after Effective Lifetime): when two concurrent child requests of a single multi-prompt completion reuse one transfer_id, the later registration overwrites the earlier entry in the worker's reqs_to_send tracking map, dropping the reference to the original block list so those GPU blocks are never freed. Because the scheduler maintained no active-transfer-ID uniqueness set, the collision was silently accepted and the leaked blocks accumulated across requests. The patch introduces a primary defense (the scheduler rejects requests whose transfer_id is already active, neutralizing do_remote_decode on the rejected request) plus defense-in-depth in the worker (freeing overwritten blocks on collision), with regression tests named test_mooncake_transfer_id_collision.py. Note that the supplied tag 'Information Disclosure' is not supported by the vulnerability mechanics or by either CVSS vector; the impact is purely availability (VC:N/VI:N/VA:H), which is consistent with a memory-leak-driven resource exhaustion.

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.7 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
vuln.today AI 7.5 HIGH

Remotely reachable completion API, no auth or user interaction, trivially crafted request; pure availability impact (GPU memory exhaustion) with no confidentiality or integrity effect.

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
SUSE HIGH
Red Hat 7.5 HIGH

Primary rating from Vendor (vulncheck).

CVSS VectorVendor: vulncheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
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

DescriptionCVE.org

vLLM Mooncake connector through 0.29.0 fails to properly manage GPU KV cache block ownership when concurrent child requests share a single transfer ID in prefill/decode disaggregated deployments. Attackers can trigger GPU memory exhaustion by submitting completion requests with multiple prompts, causing orphaned KV cache blocks to accumulate until process restart and eventually preventing legitimate requests from executing.

Executive ViewAI

Why It Matters

vLLM versions through 0.29.0 in prefill/decode disaggregated deployments using the Mooncake KV-transfer connector can suffer permanent GPU KV cache leakage from unauthenticated remote requests, progressively starving legitimate AI inference workloads until the vLLM process is restarted. No public exploit identified at time of analysis and no vendor-released patch identified at time of analysis; because the issue is network-reachable with no authentication or user interaction, affected platform owners face service degradation and potential outages for GPU-backed inference services, so leadership should prioritize identifying whether any production or customer-facing vLLM deployments use this non-default topology.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis; interim mitigations include disabling the Mooncake KV-transfer connector, avoiding prefill/decode disaggregated deployments, restricting network access to vLLM inference endpoints, monitoring GPU KV cache growth, and restarting affected vLLM processes to reclaim orphaned blocks until a fixed release is available.

Threat Intelligence Overview

EPSS Score
0.4%
Top 62% exploitable
Prevalence
High
vLLM is a leading open-source LLM inference server, though Mooncake P/D disaggregation is niche
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.4%
Patch available No
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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

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

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-73557 MEDIUM POC
6.3 Aug 13

Race condition in vLLM's prompt embedding loader allows concurrent API requests to bypass the sparse tensor invariant gu

Vendor StatusVendor

SUSE

Severity: Important

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