Skip to main content

vLLM EUVDEUVD-2026-84218

| CVE-2026-94624 HIGH
Allocation of Resources Without Limits or Throttling (CWE-770)
2026-09-21 disclosure@vulncheck.com GHSA-8qpc-6rxx-4pxf
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 exposed vLLM API endpoint
  2. Delivery
    Craft requests with bogus peer host/port in kv_transfer_params
  3. Exploit
    Flood many unreachable peer sessions
  4. Execution
    ZeroMQ sockets pin until context quota exhausted
  5. Persist
    Uncaught ZMQError crashes EngineCore
  6. Impact
    All inference halted (DoS)

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

Exploitation requires the vLLM deployment to enable the P2P secondary tier specifically - OffloadingConnector configured with TieringOffloadingSpec and a p2p secondary tier - which is a non-default configuration. The endpoint must accept client-supplied kv_transfer_params (remote host/port) from API requests, and the attacker needs network reachability to that API. Limiting factors: the vulnerable feature is off by default, and the fix PR explicitly recommends deploying behind a reverse proxy that strips or validates kv_transfer_params, or lowering VLLM_P2P_MAX_PEERS (e.g. 16-32) for public-facing deployments - both of which neutralize the attack. Impact is availability-only (crash of EngineCore stopping all inference); no confidentiality or integrity effect. Because vLLM's OpenAI-compatible server commonly runs without built-in authentication, an exposed instance with P2P enabled is effectively unauthenticated to reach.

Impact

This is a genuine availability-focused priority within its narrow deployment gate, but not a mass-exploitation emergency. The vendor CVSS 4.0 base of 8.7 (AV:N/AC:L/AT:N/PR:N/UI:N with VA:H and zero confidentiality/integrity impact) correctly frames it as a pure denial-of-service: a network-reachable attacker with API access can crash the EngineCore and halt ALL inference, but no data is read or altered. No EPSS score, no CISA KEV listing, and no public POC were provided, so there is no evidence of active or automated exploitation - the signals point to a credible but not-yet-weaponized issue. The most important nuance the raw score obscures is that PR:N assumes an exposed, unauthenticated vLLM API AND that the optional P2P secondary tier is enabled; the fix PR's own documentation states this feature is non-default and recommends stripping kv_transfer_params at a reverse proxy, confirming the flaw is gated on a specific configuration. So the 8.7 is accurate for affected deployments but overstates fleet-wide risk: most vLLM installs do not run OffloadingConnector with a p2p tier and are unaffected. Treat as high priority only where P2P KV-offload is configured on a network-exposed endpoint.

Exploit ScenarioDerived

An attacker with network access to a vLLM OpenAI-compatible API endpoint that has OffloadingConnector + TieringOffloadingSpec with a p2p secondary tier enabled sends a stream of inference requests, each carrying kv_transfer_params pointing to a unique, non-listening remote host/port. Each unreachable peer session pins a ZeroMQ socket that is never reclaimed, and once the context quota is exhausted an uncaught ZMQError crashes EngineCore, stopping all inference for every user. No public exploit code was identified at time of analysis, but the attack requires only crafted API parameters and low complexity.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 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

Denial of service in vLLM through 0.29.0 lets unauthenticated remote attackers crash the EngineCore and halt all inference by feeding arbitrary remote host and port values through kv_transfer_params when the P2P secondary KV-offload tier is enabled. Each bogus peer address causes the server to allocate a ZeroMQ socket for an unreachable peer session; because no limit is enforced on concurrent sessions, the sockets accumulate until the context quota is exhausted and an uncaught ZMQError terminates the engine (CWE-770, unlimited resource allocation). Exploitation is gated on a non-default configuration - OffloadingConnector configured with TieringOffloadingSpec plus a p2p secondary tier - and availability is the only affected property; an upstream fix exists in pull request 51504, but no public exploit code has been identified at time of analysis.

RemediationAI

Apply the upstream fix from pull request https://github.com/vllm-project/vllm/pull/51504; at the time of analysis this is an upstream fix (PR/commit) and a released patched version is not independently confirmed, so track the next tagged vLLM release after 0.29.0 and upgrade once it ships. Where upgrading is not immediately possible, the fix's own guidance provides directly actionable controls for the affected configuration: lower VLLM_P2P_MAX_PEERS from its default of 128 to the expected number of legitimate peers (for example 16 or 32 for public-facing deployments) so new peer sessions are rejected before the ZeroMQ context quota is exhausted - the trade-off is that legitimate horizontal scaling beyond that peer count will be refused and fall back to local prefill; tighten VLLM_P2P_HANDSHAKE_TIMEOUT_S (default 30 seconds) and, cautiously, VLLM_P2P_IDLE_TIMEOUT_S (default 300 seconds) so unreachable or silent peers are torn down and idle sessions evicted faster - setting VLLM_P2P_IDLE_TIMEOUT_S to 0 disables eviction entirely and should be avoided; and, for sensitive deployments, place vLLM behind a reverse proxy that strips or validates kv_transfer_params from incoming API requests so clients cannot supply peer addresses at all, which fully neutralizes the attack at the cost of breaking legitimate cross-instance KV transfer through that path. Alternatively, do not enable a p2p secondary tier in the OffloadingConnector/TieringOffloadingSpec configuration, accepting the loss of peer-to-peer KV offloading, and restrict network access to the vLLM API endpoint since the OpenAI-compatible server commonly runs without built-in authentication and any exposed instance with P2P enabled is effectively reachable unauthenticated.

Affected VersionsENISA

vllm 0 ≤0.29.0

Affected Packages

pypi vllm fix: 0.30.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in pypi

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

Technical ContextAI · show details

vLLM's tiered KV-cache offloading allows a secondary 'p2p' tier in which inference workers act as peers and exchange KV blocks directly over ZeroMQ (control and data channels), using NIXL for remote memory registration. In this deployment mode the OffloadingConnector/TieringOffloadingSpec p2p manager reads peer connection details from client-supplied kv_transfer_params, so a request can name an arbitrary remote_host and remote_port. The manager's session-creation path (vllm/v1/kv_offload/tiering/p2p/manager.py around lines 667-677, backed by the ZeroMQ control socket handling in vllm/v1/kv_offload/tiering/p2p/control/zmq.py around lines 240-260) builds a session object and a ZeroMQ context/socket for every distinct peer tuple without bounding the number of live sessions, and the error paths do not convert socket failures into a graceful fallback. That is the CWE-770 root cause: allocation of a limited, non-reclaimable resource (ZeroMQ context slots/sockets, each retained while a peer session is tracked) without throttling. Because peer sessions against non-listening addresses never complete a handshake and are never evicted, repeated unique host:port values monotonically consume the context quota until socket creation raises an uncaught ZMQError, which propagates out of the p2p manager and takes down EngineCore. The upstream fix introduces three configurable limits via environment variables - VLLM_P2P_MAX_PEERS (default 128) to reject new inbound and outbound peers once the cap is reached, VLLM_P2P_HANDSHAKE_TIMEOUT_S (default 30) to tear down peers that never complete the handshake, and VLLM_P2P_IDLE_TIMEOUT_S (default 300, 0 disables) to evict idle sessions once remaining slots fall within 8 of the cap - and makes failed socket/handshake errors fall back to local prefill instead of crashing.

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

Network-reachable API with no built-in auth (PR:N) and simple crafted parameters (AC:L) yield a full-service crash; pure availability impact so C:N/I:N/A:H, no scope change.

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 through 0.29.0 contains a denial of service vulnerability in P2P KV offloading when OffloadingConnector is configured with TieringOffloadingSpec and a peer-to-peer secondary tier. Attackers can supply arbitrary remote host and port values in kv_transfer_params to create unreachable peer sessions that retain ZeroMQ sockets until the context quota is exhausted, causing an uncaught ZMQError that crashes EngineCore and stops all inference.

Blast Radius

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

Ecosystem-wide dependent count for version 0.30.0.

Executive ViewAI

Why It Matters

A high-severity availability flaw in vLLM (through version 0.29.0) allows remote attackers to crash the inference engine and halt all model-serving capacity by sending crafted peer address data, but only on deployments that enable the non-default P2P secondary KV-offload tier. Organizations running vLLM in that configuration - typically large-scale or multi-node inference platforms - face a full service outage rather than any data exposure, so leadership should care primarily about downtime, SLA breach, and loss of AI-dependent business processes. No vendor patch has been released, though an upstream fix exists in pull request 51504.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: disable the TieringOffloadingSpec p2p secondary tier and revert to the default offloading configuration, restrict network access to vLLM inference endpoints to trusted clients, apply connection rate limiting and concurrent-session caps at the network or proxy layer, and monitor ZeroMQ context/socket usage and engine restarts for early detection of the exhaustion pattern. Once released, apply vendor patch (upstream fix in pull request 51504).

Threat Intelligence Overview

EPSS Score
0.4%
Top 62% exploitable
Prevalence
High
vLLM is a widely deployed AI inference engine; vulnerable P2P tier is non-default
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 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
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

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