vLLM servers processing multimodal inputs are vulnerable to SSRF via a URL parser inconsistency that bypasses host restrictions — any user with inference API access can pivot into your internal network. In Kubernetes-based AI serving stacks (llm-d, KServe), this enables pod-to-pod reconnaissance and service disruption. Patch to vLLM 0.14.1 immediately; if you cannot patch, disable multimodal URL loading at the network perimeter.
Affected Systems
| Package | Ecosystem | Vulnerable Range | Patched |
|---|---|---|---|
| vllm | pip | < 0.14.1 | 0.14.1 |
| vllm | pip | — | No patch |
Severity & Risk
Recommended Action
- 1. PATCH: Upgrade vLLM to 0.14.1 or later — this is the authoritative fix. 2. WORKAROUND (if patch is not immediately possible): Block multimodal URL inputs at the API gateway; reject or pre-validate any user-supplied URL parameters before they reach the MediaConnector. 3. NETWORK CONTROLS: Apply strict egress rules on vLLM pods — deny outbound access to RFC-1918 ranges, cloud metadata endpoints (169.254.169.254, fd00:ec2::254), and Kubernetes service CIDR. 4. DETECTION: Alert on outbound HTTP/S requests from vLLM pods to internal RFC-1918 addresses; monitor for access to /metadata, /api/v1, or management endpoints from AI inference pods. 5. AUDIT: Review who has access to multimodal inference endpoints — treat inference API access as privileged if multimodal is enabled.
Classification
Compliance Impact
This CVE is relevant to:
Technical Details
NVD Description
vLLM is an inference and serving engine for large language models (LLMs). Prior to version 0.14.1, a Server-Side Request Forgery (SSRF) vulnerability exists in the `MediaConnector` class within the vLLM project's multimodal feature set. The load_from_url and load_from_url_async methods obtain and process media from URLs provided by users, using different Python parsing libraries when restricting the target host. These two parsing libraries have different interpretations of backslashes, which allows the host name restriction to be bypassed. This allows an attacker to coerce the vLLM server into making arbitrary requests to internal network resources. This vulnerability is particularly critical in containerized environments like `llm-d`, where a compromised vLLM pod could be used to scan the internal network, interact with other pods, and potentially cause denial of service or access sensitive data. For example, an attacker could make the vLLM pod send malicious requests to an internal `llm-d` management endpoint, leading to system instability by falsely reporting metrics like the KV cache state. Version 0.14.1 contains a patch for the issue.
Exploitation Scenario
An attacker with standard user-level access to a multi-tenant vLLM deployment crafts an image URL that appears to target an allowed external host (e.g., cdn.allowed-host.com) but uses a backslash in the URL path component. The two Python URL parsing libraries used by MediaConnector interpret this differently: the allowlist check sees cdn.allowed-host.com, while the actual HTTP request resolves to an internal address — e.g., http://169.254.169.254/latest/meta-data/ (AWS IMDS) or http://10.96.0.1/api/v1/secrets (Kubernetes API). In an llm-d cluster, the attacker targets the llm-d management endpoint and submits falsified KV cache metrics, causing the scheduler to misroute requests or trigger unnecessary pod scaling, resulting in service degradation across the inference fleet.
Weaknesses (CWE)
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:L References
- github.com/advisories/GHSA-qh4c-xf7m-gxfc
- github.com/vllm-project/vllm/commit/f46d576c54fb8aeec5fc70560e850bed38ef17d7
- github.com/vllm-project/vllm/pull/32746
- github.com/vllm-project/vllm/security/advisories/GHSA-qh4c-xf7m-gxfc
- nvd.nist.gov/vuln/detail/CVE-2026-24779
- github.com/vllm-project/vllm/commit/f46d576c54fb8aeec5fc70560e850bed38ef17d7 Patch
- github.com/vllm-project/vllm/pull/32746 Issue Patch
- github.com/vllm-project/vllm/security/advisories/GHSA-qh4c-xf7m-gxfc Exploit Patch Vendor