Skip to main content

vLLM CVE-2026-115913

| EUVDEUVD-2026-110023 MEDIUM
Allocation of Resources Without Limits or Throttling (CWE-770)
2026-10-26 GitHub_M GHSA-8397-8qf6-f2gm
6.5
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Reach vLLM chat/completions API
  2. Delivery
    Submit legal ~600s audio clip
  3. Exploit
    Encoder materializes full attention matrices
  4. Execution
    Per-layer matrices retained across 24 layers
  5. Persist
    GPU memory exhausted, CUDA OOM
  6. Impact
    EngineCore crashes, full denial of service

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource allocation limits
MITRE ATT&CK

1 technique across 1 tactic: Impact

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

Exploitation Conditions

Exploitable only when vLLM (prior to 0.32.0) is actually serving microsoft/Phi-4-multimodal-instruct - or another model reusing this Phi-4 audio tower - with the audio encoder on the default eager-attention path (use_pt_scaled_dot_product_attention unset, so default False; the official HF config does not set it, and --trust-remote-code is the documented standard way to serve this model, so this matches default deployments). The attacker needs only to submit an audio clip within the default server limits VLLM_MAX_AUDIO_CLIP_FILESIZE_MB=25 and VLLM_MAX_AUDIO_DECODE_DURATION_S=600; a legal ~10-minute silent clip suffices, no crafted content. LIMITING FACTORS: deployments not serving this specific audio-capable model are entirely unaffected; on GPUs with large headroom (e.g. 80 GB) a single request may survive, though a few sequential max-length requests or normal following traffic still exhaust memory because the last request's matrices stay resident. If the deployment front-ends the API with authentication, an attacker must first be able to reach the endpoint, though default vLLM has no auth.

Impact

This is a genuine but moderate-priority availability issue, not a hair-on-fire emergency. The input CVSS of 6.5 (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H) correctly captures a network-reachable, low-complexity, availability-only flaw with no confidentiality or integrity impact. The GHSA advisory verified end-to-end crash behavior on the official vllm/vllm-openai:v0.31.0 image (one 19.2 MB silent 600 s WAV killing EngineCore in ~6 seconds), so the mechanism is confirmed by the project's own security advisory; however, there is no KEV listing, no EPSS score was supplied, and no standalone exploit-code reference is present - so this is 'no public exploit identified at time of analysis' even though the advisory describes the trigger in enough detail to reproduce. SIGNAL CONFLICT TO VERIFY: the input CVSS uses PR:L (authenticated) while the advisory text explicitly states 'any unauthenticated client that can reach the chat/completions API of a default deployment' can trigger it - because default vLLM deployments ship without authentication, PR:N is the more defensible metric and I assess it as such below; defenders should treat this as unauthenticated-reachable in default configs. The vuln.today decision label is 'this_month' (not act_now/emergency), consistent with a deterministic single-model single-request DoS that requires no data compromise. Real priority exists for any shop actually serving Phi-4-multimodal-instruct (or a model reusing this audio tower), where a single legal request means trivial, repeatable full-engine DoS; for everyone else running vLLM without that audio model, exposure is effectively nil.

Exploit ScenarioDerived

An attacker who can reach the chat/completions API of a default vLLM deployment serving microsoft/Phi-4-multimodal-instruct submits one legal ~10-minute audio clip (even silent noise, under the 25 MB / 600 s server limits). The eager-attention path materializes and retains ~120 per-layer [120×16×500×500] attention matrices across 24 encoder layers, exhausting GPU memory mid-forward and crashing EngineCore with CUDA out-of-memory, taking the whole server down (~6 seconds) for all users until a process restart. No public exploit code is referenced, but the GHSA advisory documents a verified reproduction.

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 – Oct 26, 2026

Denial of service in vLLM prior to 0.32.0 lets a remote client terminate the entire inference engine by submitting a single legal audio clip - a roughly 10-minute silent recording is enough, no crafted content required. When the server hosts microsoft/Phi-4-multimodal-instruct (or another model reusing its audio tower), the Phi-4 conformer encoder runs attention in eager mode by default, materializes a full attention probability matrix per layer for every 500-frame chunk, and retains it on the module, so GPU memory climbs monotonically within one request until a CUDA out-of-memory error kills EngineCore for all users; the advisory reports worker death in about six seconds and the API then returns EngineDeadError. No public exploit code was identified at time of analysis and the issue is not in CISA KEV; the authoritative assessment rates this a genuine but moderate-priority availability issue, rated high on availability only (C:N/I:N/A:H) and unauthenticated where the API is exposed, while deployments not serving this audio-capable model are unaffected.

RemediationAI

Vendor-released patch: 0.32.0 - upgrade vLLM to 0.32.0 or later, which removes the self.attn retention in phi4mm_utils.py, defaults use_pt_scaled_dot_product_attention to True in both phi4mm_audio.py and phi4mm_utils.py, and adds regression tests (PR 60614, commit 3d52578e13454de0bb8352cac988347cdcc89928; advisory https://github.com/vllm-project/vllm/security/advisories/GHSA-8397-8qf6-f2gm). Until the upgrade can be staged, the practical compensating control is to shrink the encoder input by lowering VLLM_MAX_AUDIO_DECODE_DURATION_S and VLLM_MAX_AUDIO_CLIP_FILESIZE_MB well below their 600 s / 25 MB defaults, which cuts n_chunks and therefore the per-layer attention allocation (a 60 s cap yields roughly a twelfth of the chunks of a maximal clip); the trade-off is that legitimate longer audio is rejected, and the reduction is proportional rather than eliminating, so a small-headroom GPU can still be pushed over the edge by repeated requests because the last request's matrices remain resident. On GPUs with large headroom (e.g. 80 GB at default utilization) a single request may survive, but sequential max-length requests or normal following traffic still exhaust memory, so capacity is not a substitute for the patch. Because default vLLM has no authentication, restricting network reachability to the chat/completions API or fronting it with an authenticating proxy limits who can trigger the crash, but any client that can reach the endpoint can still kill the engine. Any of the code-level changes above breaks the chain; combining removal of the retained reference with the SDPA default is the recommended fix, and a crashed EngineCore requires a process restart.

Affected VersionsENISA

vllm < 0.32.0

Affected Packages

euvd vllm fix: 0.32.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 in vLLM's port of the Phi-4 multimodal speech encoder (vllm/model_executor/models/phi4mm_audio.py and phi4mm_utils.py), a conformer stack with 24 blocks, 16 attention heads and attention_dim 1024 that unfolds long audio into 500-frame chunks (max_seq_len = 500). MultiHeadedAttention.forward_attention in eager mode computes masked_softmax over the scores and unconditionally assigns the result to self.attn, a leftover torch.jit.Attribute inference/debug hook that serves no purpose in serving but pins the full [batch·chunks, heads, T, T] tensor past the layer's forward pass and past the request's lifetime. The scaled-dot-product-attention branch never materializes that matrix, but the official HF config for microsoft/Phi-4-multimodal-instruct does not set use_pt_scaled_dot_product_attention and the code default was False, so default deployments take the eager path. Audio length is bounded only by VLLM_MAX_AUDIO_CLIP_FILESIZE_MB=25 and VLLM_MAX_AUDIO_DECODE_DURATION_S=600, so a maximal 600 s clip yields ~120 chunks and per-layer tensors of roughly 1.8-2.29 GiB, exhausting the headroom left by --gpu-memory-utilization 0.9 on a 24 GB card mid-forward; a secondary effect is that the last request's matrices stay resident until overwritten by the next audio request. This is CWE-770 (Allocation of Resources Without Limits or Throttling) rather than a memory-safety bug: the trigger is a perfectly legal input length combined with an unbounded per-layer allocation and an unnecessary retained reference. The upstream fix (PR 60614) removes the self.attn assignment, flips the SDPA default to True in both modules, and adds regression tests asserting the probability matrix is not retained and that SDPA is the default.

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.5 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
vuln.today AI 7.5 HIGH

Default vLLM deployments have no authentication and the advisory confirms unauthenticated reach, so PR:N (not the input's PR:L); deterministic single request gives AC:L; availability-only impact so C:N/I:N/A:H.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

1
Patch available
Oct 26, 2026 - 18:18 EUVD

DescriptionCVE.org

vLLM is an inference and serving engine for large language models. Prior to 0.32.0, the Phi-4 multimodal audio encoder in phi4mm_audio.py and phi4mm_utils.py uses eager attention by default, allowing a remote client to submit one legal long audio clip that causes MultiHeadedAttention.forward_attention to materialize and retain full attention matrices in self.attn. The scaled dot-product attention branch does not materialize these matrices. The resulting quadratic GPU-memory use can cause an out-of-memory condition and terminate EngineCore for all users. This issue is fixed in version 0.32.0.

Threat Intelligence Overview

EPSS Score
0.3%
Top 77% exploitable
Prevalence
Medium
popular open-source LLM serving engine, but flaw needs Phi-4 audio model
Threat Intel
1
1 source
Data Quality
5 sources
Confidence: Medium

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 No
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· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

32
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
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

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