Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach prefill worker API endpoint
-
DeliverySend request with crafted X-Request-Id header
-
Exploitparse_request_id extracts attacker host:port
-
ExecutionWorker ZMQ-connects and sends NCCL unique_id
-
ImpactncclSend exfiltrates KV-cache tensors to attacker
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V4 - API and Web Service URL allowlisting, SSRF prevention
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Credential Access 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 target prefill worker to be launched with '--kv-transfer-config '{"kv_connector":"P2pNcclConnector","kv_role":"kv_producer",...}'' - the vulnerable V1 P2pNcclConnector must be active; the attack has no effect on default vLLM deployments that do not use this connector. The attacker needs only to send a /v1/completions or /v1/chat/completions request carrying an X-Request-Id header matching the regex '___decode_addr_(.*):(\d+)', plus a valid API key when '--api-key' is set (no key is needed if '--api-key' is unset). Limiting factors: the non-default disaggregated-serving configuration, network reachability to the prefill worker, and the API-key requirement where one is configured; no user interaction is required. |
| Impact | Multiple signals converge on this being a genuine but conditional priority. The input CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N) describes a network-reachable, low-complexity SSRF with high confidentiality impact (VC:H) and low availability impact (VA:L), scored 8.8, and the vuln.today decision label is 'this_week' - not 'act_now' or 'emergency'. There is no EPSS score provided, no CISA KEV listing, and no PoC or exploit reference in the supplied data, so exploitation status is 'no public exploit identified at time of analysis'. The key tension is between the PR:N (unauthenticated) metric and the advisory text: exploitation is only possible against a prefill worker explicitly started with '--kv-transfer-config' selecting P2pNcclConnector in kv_producer role - a non-default, specialized disaggregated-serving configuration - and the caller needs a valid API key unless '--api-key' is unset. So the raw CVSS network/unauth profile overstates the exposed population: the real risk is concentrated in the subset of vLLM deployments running the P2pNcclConnector prefill path, where the risk is high (full KV-cache/prompt exfiltration plus a worker DoS via a blocking ncclCommInitRank). For operators NOT using that connector, effective risk is negligible. Treat as a this-week patch item for affected disaggregated-serving deployments, lower priority elsewhere. |
| Exploit ScenarioDerived | An attacker who can reach a vLLM prefill worker configured with P2pNcclConnector sends a normal /v1/completions or /v1/chat/completions request but sets the X-Request-Id header to a value embedding a routing token like '___decode_addr_<attacker-ip>:<port>'. vLLM copies the header verbatim into the request_id, parse_request_id extracts the attacker's host:port with no allow-list, and the worker opens an outbound ZMQ connection and NCCL bootstrap to the attacker, leaking the NCCL unique_id and then ncclSend-ing the request's KV-cache tensors (prompt text and prefix-cached hidden states). No public exploit is identified at time of analysis, though the GHSA advisory documents exact code paths and line numbers. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 25, 2026
Server-side request forgery in vLLM 0.9.2 through 0.23.x lets an API caller force a P2pNcclConnector prefill worker to open an outbound ZMQ connection to an attacker-chosen host by embedding a ___decode_addr_<host>:<port> token in the X-Request-Id header, exposing the NCCL communicator unique_id and the KV-cache tensors of the targeted request and potentially stalling the worker on a blocking ncclCommInitRank. The flaw is conditional: it only applies to disaggregated-serving deployments started with --kv-transfer-config selecting the V1 P2pNcclConnector in the kv_producer role, and default vLLM installations are unaffected. The CVSS:4.0 vector indicates no privileges required (PR:N), with the caveat that a valid API key is needed when --api-key is configured. No public exploit was identified at time of analysis, and the vendor closed the issue in 0.24.0 by removing the affected connector.
RemediationAI
Vendor-released patch: vLLM 0.24.0; upgrade the vllm package to 0.24.0, which removes the affected V1 P2pNcclConnector and its registration (PR https://github.com/vllm-project/vllm/pull/44854), and plan a KV-transfer configuration change accordingly since that connector is no longer available. Operators who cannot move to 0.24.0 immediately should either stop launching prefill workers with --kv-transfer-config using P2pNcclConnector/kv_producer (the exposure disappears when the connector is not active) or backport the two fixes described in advisory GHSA-vfp2-c8pq-v6h6: make OpenAIServing._base_request_id strip or replace X-Request-Id with a random UUID whenever P2pNcclConnector is active so no user-supplied value reaches parse_request_id, and make create_connect validate remote_address against an operator-configured CIDR/hostname allow-list supplied through kv_connector_extra_config before opening the ZMQ socket and starting NCCL bootstrap - the trade-off being that any legitimate peer address must be enumerated in that allow-list. Additionally, ensure --api-key is set so requests require authentication, and limit network reachability to prefill workers, since the advisory notes no privileges beyond a valid API key are required. Advisory: https://github.com/vllm-project/vllm/security/advisories/GHSA-vfp2-c8pq-v6h6.
Affected VersionsENISA
Affected Packages
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 is a Python LLM inference and serving framework distributed via PyPI (CPE cpe:2.3:a:vllm-project:vllm). In the affected 0.9.2-0.23.x range, OpenAIServing._base_request_id (vllm/entrypoints/openai/engine/serving.py:399) returns the raw X-Request-Id header value verbatim, so an HTTP header supplied by the client becomes the request_id propagated through the engine. P2pNcclConnector.parse_request_id (vllm/distributed/kv_transfer/kv_connector/v1/p2p/p2p_nccl_connector.py:450) then applies the permissive regex r"___decode_addr_(.*):(\d+)" with no allow-list, no scheme check and no IP-literal blocking to derive a remote host:port. create_connect in p2p_nccl_engine.py:207 calls sock.connect(f"tcp://{remote_address}"), immediately sends msgpack.dumps({"cmd": "NEW", "unique_id": bytes(unique_id.internal)}), then calls ncclCommInitRank, and send_sync (line 533) dispatches KV cache over that communicator with ncclSend. The weakness is CWE-918 (Server-Side Request Forgery): user-controlled input reaches an outbound network connect primitive without validation. The affected path exists only where the V1 P2pNcclConnector is registered via the --kv-transfer-config JSON with kv_connector set to P2pNcclConnector and kv_role set to kv_producer; the connector and its registration were removed in the 0.24.0 fix (PR #44854).
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:H/VI:N/VA:L/SC:N/SI:N/SA:N
Network-reachable low-complexity SSRF needing no privileges when no API key is set; high KV-cache confidentiality loss and low availability loss from worker DoS, no integrity impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
vLLM from 0.9.2 before 0.24.0 contains a server-side request forgery vulnerability that allows API callers to force outbound connections by embedding a decode address in the X-Request-Id header. Attackers can make a P2pNcclConnector prefill worker ZMQ-connect to an attacker host, leaking the NCCL unique_id and KV-cache tensors or blocking the worker.
Technical POC Analysis
CWE-918 (SSRF).
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
CVE-2026-116176 is a high-severity server-side request forgery (SSRF) vulnerability in vLLM versions 0.9.2 through 0.23.x, specifically affecting deployments using disaggregated serving with the P2pNcclConnector. This flaw could allow an unauthenticated attacker to redirect internal connections and potentially expose sensitive NCCL communicator data or stall model serving, disrupting AI operations. While default installations are unaffected, organizations relying on this advanced configuration should prioritize remediation to avoid service interruptions or data leakage.
No vendor-released patch identified at time of analysis; interim mitigations include restricting API access with strong authentication, network segmentation to limit outbound connections from vLLM workers, and monitoring for anomalous X-Request-Id headers containing host:port patterns.
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
Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.
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
Timing-based API key recovery in vLLM before 0.11.0rc2 can let remote attackers bypass bearer-token authentication on de
vLLM is a high-throughput and memory-efficient inference and serving engine for LLMs. Rated high severity (CVSS 7.5), th
Denial of service in the vLLM LLM inference server (all versions prior to 0.24.0) allows a remote client to crash the sh
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
EUVD-2026-109437
GHSA-3r8v-vh9c-f8hq
NVD
CVE.org
EPSS
Exploit-DB