Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach exposed vLLM API endpoint
-
DeliveryCraft requests with bogus peer host/port in kv_transfer_params
-
ExploitFlood many unreachable peer sessions
-
ExecutionZeroMQ sockets pin until context quota exhausted
-
PersistUncaught ZMQError crashes EngineCore
-
ImpactAll 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. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – 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
Affected Packages
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
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
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.
Primary rating from Vendor (vulncheck).
CVSS VectorVendor: vulncheck
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- 3 pypi packages depend on vllm (3 direct, 0 indirect)
Ecosystem-wide dependent count for version 0.30.0.
Executive ViewAI
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.
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
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
vLLM is a high-throughput and memory-efficient inference and serving engine for LLMs. Rated critical severity (CVSS 10.0
vllm-project vllm version v0.6.2 contains a vulnerability in the MessageQueue.dequeue() API function. Rated critical sev
Information exposure in vLLM inference engine versions 0.8.3 to before 0.14.1. Invalid image requests to the multimodal
vLLM is a high-throughput and memory-efficient inference and serving engine for LLMs. Rated high severity (CVSS 7.5), th
vLLM before version 0.14.1 contains a server-side request forgery vulnerability in the MediaConnector class where incons
Out-of-memory worker crashes in vLLM can be induced by a single small compressed audio payload submitted to the /v1/chat
vLLM is a high-throughput and memory-efficient inference and serving engine for LLMs. Rated medium severity (CVSS 6.5),
GPU memory exhaustion in vLLM versions prior to 0.28.0 lets an attacker with low-privileged API access (PR:L in the CVSS
Multimodal inference requests to vLLM deployments running versions prior to 0.28.0 can trigger a process-level assertion
Uncontrolled resource consumption in vLLM's OpenAI-compatible completions endpoint allows any authenticated API client t
Vllm versions up to 0.12.0 is affected by allocation of resources without limits or throttling (CVSS 6.5).
Race condition in vLLM's prompt embedding loader allows concurrent API requests to bypass the sparse tensor invariant gu
EUVD-2026-84218
GHSA-8qpc-6rxx-4pxf
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB