Skip to main content

vLLM CVE-2026-115917

| EUVDEUVD-2026-110038 MEDIUM
Permissive Cross-domain Security Policy with Untrusted Domains (CWE-942)
2026-10-26 GitHub_M GHSA-vvpg-rrww-wpmh
4.7
CVSS 3.1 · NVD
View

Attack ChainAIDerived

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

  1. Access
    Lure victim to malicious web page
  2. Delivery
    Browser JS issues cross-origin request to reachable vLLM server
  3. Exploit
    Wildcard CORS permits POST /v1/chat/completions
  4. Execution
    Enumerate models and read inference output
  5. Impact
    Consume victim GPU and exfiltrate responses

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A02:2025 - Security Misconfiguration
ASVS 5.0
V13 - Configuration CORS policy restriction
Exploitation Conditions

Exploitation requires all of the following: a vLLM OpenAI-compatible server prior to 0.32.0 running the default CORSMiddleware wildcard (allowed_origins=['*']); the server being reachable from the victim's browser (localhost, internal network, or VPN address); no --api-key/VLLM_API_KEY configured, which leaves endpoints such as GET /v1/models and POST /v1/chat/completions unauthenticated (or, if a key is set, the browser caller already holding a usable bearer token for read access); and the victim actively loading an attacker-controlled web page (required user interaction, UI:R). Limiting factors: cookie-based CSRF does not apply because credentials are disabled by default; when an API key is configured the /v1, /v2, /inference, and /cohere prefixes are gated, so a tokenless attacker cannot reach guarded endpoints. The only complete fix stated by the vendor is upgrading to 0.32.0, which changes the default allowed_origins to an empty list.

Impact

This is a genuinely low-priority issue, and the signals are consistent rather than conflicting. The CVSS base score is 3.4 (Low) with vector AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:N/A:N: although reachable over the network, exploitation requires user interaction (the victim must load an attacker-controlled page) and higher attack complexity (a vulnerable, browser-reachable, unauthenticated vLLM server must already exist). Confidentiality impact is only Low (an attacker can read model output and enumerate models through the victim's browser), with no integrity impact and no rated availability impact despite GPU-time consumption. The vuln.today Decision label is 'monitor', which aligns with the low severity and does not indicate urgency. No EPSS score and no KEV status were provided in the input, and there is no public exploit reference - only vendor advisory, fix PR, fix commit, and release links. Taken together this is a legitimately defensive, low-real-risk hardening fix rather than an actively exploited emergency; absence of EPSS/KEV data is noted, not treated as evidence either way.

Exploit ScenarioDerived

A victim with a locally or internally reachable vLLM OpenAI-compatible server (default configuration, no API key) visits a malicious web page. Because the server registers CORSMiddleware with allowed_origins=['*'], the attacker's JavaScript can call GET /v1/models and POST /v1/chat/completions through the victim's browser, consume GPU resources, and read the responses cross-origin. No public exploit identified at time of analysis; the browser effectively acts as a proxy into networks the remote site could not otherwise reach.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 26, 2026

vLLM's OpenAI-compatible server before 0.32.0 registers Starlette CORSMiddleware with allowed_origins defaulting to ["*"], so a malicious web page loaded by a victim can issue cross-origin requests to a vLLM server the browser can reach and read the responses. When no --api-key or VLLM_API_KEY is configured - the default - endpoints such as GET /v1/models and POST /v1/chat/completions are reachable, letting the page enumerate models, drive chat completions, burn GPU time, and read model output through the victim's browser; if a key is set, the guarded prefixes require that the caller already hold a usable token. Cookie-based CSRF does not apply because allow_credentials is False by default, and exploitation needs user interaction plus a browser-reachable server, which is why this scores only 3.4 and is tracked as monitor priority; no public exploit code was identified at time of analysis.

RemediationAI

Upgrade to vLLM 0.32.0, which the vendor identifies as the only complete fix; it changes the default allowed_origins from ["*"] to an empty list in both the Python and Rust configurations (PR 61009, commit fcae5c98870ff2c20659731dce7ba3a3ff0d48aa). Where upgrading is not immediately possible, replace the wildcard by launching the server with an explicit narrow --allowed-origins list containing only trusted origins, noting that any origin omitted will no longer be able to make cross-origin calls to the server; additionally configure --api-key/VLLM_API_KEY so the /v1, /v2, /inference and /cohere prefixes require a bearer token, accepting that this breaks unauthenticated clients and that a tokenless cross-origin attacker can no longer reach those guarded endpoints. Restricting the server to interfaces that victim browsers cannot reach reduces exposure but also cuts off legitimate localhost use. See the advisory at https://github.com/vllm-project/vllm/security/advisories/GHSA-vvpg-rrww-wpmh and the release at https://github.com/vllm-project/vllm/releases/tag/v0.32.0.

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 a permissive CORS default (CWE-942) in vLLM's serving stack, which pairs a Python FastAPI/Starlette application (vllm/entrypoints/launchers/cli_args.py defining allowed_origins defaulting to ["*"] and vllm/entrypoints/serve/middleware/register.py registering CORSMiddleware) with a Rust frontend (rust/src/cmd/src/cli.rs and rust/src/server/src/config.rs mirroring the same wildcard default, with rust/src/server/src/middleware/cors.rs emitting the origins). Because the wildcard is returned in access-control-allow-origin, browsers permit any origin to read responses from the server, and vLLM's authentication middleware is only installed when a token is configured and only guards the /v1, /v2, /inference and /cohere prefixes. That combination turns the victim's browser into a proxy that can reach localhost, internal-network or VPN-only vLLM instances that a remote web page could not otherwise address; allow_credentials=False blocks cookie-bearing cross-origin requests, so the exposure is cross-origin request execution and response disclosure rather than classic CSRF. The upstream fix changes the default to an empty origin list in both the Python arg definitions and the Rust CORS configuration and tests.

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 LOW
NVD 4.7 MEDIUM
AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:N/A:N
vuln.today AI 3.4 LOW

Network-reachable and unauthenticated (AV:N/PR:N) but needs a victim to load a malicious page (UI:R) and a pre-existing reachable, unauthenticated server (AC:H); browser-as-proxy crosses authority (S:C) with only read disclosure (C:L).

3.1 AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:N/A:N
4.0 AV:N/AC:H/AT:N/PR:N/UI:A/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorNVD

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

Lifecycle Timeline

3
Severity Changed
Oct 28, 2026 - 15:37 NVD
LOW MEDIUM
CVSS changed
Oct 28, 2026 - 15:37 NVD
3.4 (LOW) 4.7 (MEDIUM)
Patch available
Oct 26, 2026 - 18:18 EUVD

DescriptionNVD

vLLM is an inference and serving engine for large language models. Prior to 0.32.0, the OpenAI-compatible server configures Starlette CORSMiddleware with allowed_origins set to a wildcard by default. A malicious web page can use a victim's browser to reach an unauthenticated vLLM server on localhost, an internal network, or a VPN, call endpoints including GET /v1/models and POST /v1/chat/completions, consume GPU resources, and read responses. Cookie-based cross-site request forgery does not apply because credentials are disabled by default, and deployments requiring bearer authentication are exposed only when the caller already has a usable token. This issue is fixed in version 0.32.0.

Threat Intelligence Overview

EPSS Score
0.2%
Top 85% exploitable
Prevalence
Medium
popular LLM inference/serving engine, common in ML deployments but not general infrastructure
Threat Intel
1
1 source
Social Media
1
Sightings
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.2%
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
Defer
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Low

Priority Score

24
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +24
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Request Forgery exploits the automatic credential inclusion behavior of web browsers.

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