Skip to main content

vLLM CVE-2026-105752

| EUVDEUVD-2026-92842 LOW
Information Exposure (CWE-200)
2026-10-05 GitHub_M GHSA-935w-9g4m-p28p
3.1
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Authenticate as co-tenant
  2. Delivery
    Reconstruct victim's low-entropy post-tool history
  3. Exploit
    Submit matching Harmony continuation via POST /v1/responses
  4. Execution
    Read returned cached_tokens_per_turn count
  5. Impact
    Infer victim prefix was cached, defeating isolation

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V14 - Data Protection Data exposure prevention
MITRE ATT&CK

2 techniques across 2 tactics: Collection, Discovery

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires: (1) prefix caching enabled, which is the default; (2) the caller having enabled cache_salt salting that this bug fails to preserve across Harmony tool continuations; (3) the attacker being an authenticated tenant on the same deployment (PR:L); and (4) the attacker's ability to reconstruct a victim's low-entropy post-tool conversation history to reproduce the continuation prefix. Exploitation occurs specifically through Harmony tool continuations submitted to POST /v1/responses, using the cached_tokens_per_turn response field as a hit/miss oracle. Limiting factors: authentication is required, success depends on the victim history being low-entropy and reconstructable (high complexity), and only the isolation property of salted prefix caching is affected - not direct content disclosure. Deployments without prefix caching or without reliance on cache_salt are not meaningfully exposed.

Impact

This is a genuine but low-severity, low-priority issue. The provided CVSS vector (CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N, base ~3.1) correctly reflects a constrained threat: exploitation requires an authenticated tenant (PR:L) and high attack complexity (AC:H) because the attacker must independently reconstruct the victim's low-entropy post-tool conversation history before the cached_tokens_per_turn oracle reveals anything. No EPSS score, KEV listing, POC, or SSVC data was provided, so there is no signal of active or probable exploitation - consistent with 'no public exploit identified at time of analysis.' One notable discrepancy: the official vector scores this as an integrity impact (C:N/I:L) even though CWE-200 and the description describe an information-disclosure side channel that defeats tenant isolation; a confidentiality impact (C:L/I:N) is the more faithful mapping, though the resulting base score is similar. The practical outcome is a cache-timing oracle that confirms whether a prefix was previously processed - not direct content exfiltration - making this a privacy/isolation hardening fix rather than an urgent emergency. Verify tenancy model and whether salted prefix caching is actually relied upon before prioritizing.

Exploit ScenarioDerived

A multi-tenant vLLM deployment with the default prefix caching enabled hosts several customers who rely on cache_salt for isolation. A malicious authenticated tenant who can guess or reconstruct another tenant's short, predictable post-tool continuation submits the same Harmony tool continuation via POST /v1/responses and inspects the returned cached_tokens_per_turn value to confirm the victim's prefix was already processed and cached. No public exploit code is referenced.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.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 05, 2026

vLLM deployments prior to 0.30.0 with prefix caching enabled (the default) fail to carry the caller's cache_salt value across Harmony tool continuations submitted to "POST /v1/responses", so continuation prefixes land in the global unsalted prefix-cache namespace. This lets an authenticated tenant who can reconstruct a victim's low-entropy post-tool conversation history submit the same continuation and read the cached_tokens_per_turn counter as a hit/miss oracle, confirming whether that prefix was previously processed and thereby defeating salt-based tenant isolation of the cache. This is a genuine but low-severity, low-priority issue: the assessed vector is CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:N, exploitation requires authenticated access, prefix caching to be on, cache_salt salting to be in use, and the victim's history to be low-entropy and reconstructable, and only the isolation property leaks - no direct model output or prompt content is disclosed. No public exploit code and no confirmed active exploitation were identified at time of analysis.

RemediationAI

Vendor-released patch: upgrade to vLLM 0.30.0, which preserves cache_salt across Harmony tool continuations; the fix is documented in the advisory at https://github.com/vllm-project/vllm/security/advisories/GHSA-935w-9g4m-p28p with code changes in pull requests 50195 and 51818 and commit 6a2a2bb02b563b83f946012959fd3927984d072a. If upgrading immediately is not possible, the most direct compensating control is to disable prefix caching on affected serving instances (for example via the --no-enable-prefix-caching flag), which removes the shared cache namespace that the cached_tokens_per_turn oracle observes at the cost of increased latency and reduced throughput for repeated-prefix workloads; alternatively, restrict access to the "/v1/responses" endpoint and specifically to tool-continuation flows so that only fully trusted, single-tenant callers can reach the affected code path, accepting that this breaks multi-tenant use of that API. Because exploitation requires an authenticated tenant plus a low-entropy, reconstructable victim history, tightening authentication and segregating tenants onto separate vLLM instances or processes is a further useful boundary, though it carries higher operational overhead than disabling prefix caching. Any remaining deployment that both enables prefix caching and depends on cache_salt for isolation should be treated as unmitigated until it runs 0.30.0 or later.

Affected VersionsENISA

vllm < 0.30.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 is an inference and serving engine for large language models, and its OpenAI-compatible "/v1/responses" endpoint supports tool calling via the OpenAI Harmony format. When prefix caching is enabled (the default on deployments serving LLMs), the engine reuses previously computed KV-cache blocks for shared prompt prefixes; the cache_salt parameter is the mechanism intended to partition that cache per tenant so one caller's salted prefix cannot be matched or reused by another. The bug (CWE-200, Exposure of Sensitive Information) is that rebuild of the next-turn engine input for Harmony tool continuations drops the cache_salt attribute, so the continuation prefix is stored and looked up in the global unsalted namespace instead of the caller's salted namespace. Because the response exposes cached_tokens_per_turn, an attacker gains a boolean-style side channel: a non-zero cache hit reveals that an identical prefix was processed earlier by someone else. The root cause class is improper handling of a security-scoping attribute during request reconstruction, not a memory-safety or injection flaw, which matches the assessed low confidentiality-only impact (C:L, I:N, A:N) and the AC:H rating reflecting the reconstruction prerequisite. Code references in the fix touch the Responses render path and request/tool-continuation construction (docs/serving/online_serving/renderer.md, vllm/entrypoints/openai/responses/context.py, and the online renderer), which is consistent with the salt being lost while rebuilding Harmony-tool conversation state. Per the CPE cpe:2.3:a:vllm-project:vllm:*:*:*:*:*:*:*:*, all vLLM releases before 0.30.0 are in scope.

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 3.1 LOW
AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N
vuln.today AI 3.1 LOW

Authenticated tenant (PR:L), network API (AV:N); AC:H because the victim's low-entropy history must be reconstructed; the leak is a confidentiality oracle so C:L, with I/A none.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

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

Lifecycle Timeline

1
Patch available
Oct 06, 2026 - 01:01 EUVD

DescriptionCVE.org

vLLM is an inference and serving engine for large language models. Prior to 0.30.0, Harmony tool continuations submitted through "POST /v1/responses" requests rebuild the next-turn engine input without preserving the cache_salt value, placing the continuation prefix in the global unsalted cache namespace even when the caller enabled salting. On deployments with prefix caching enabled, which is the default, an authenticated tenant who can reconstruct a victim's low-entropy post-tool history can submit the same continuation and use the cached_tokens_per_turn count to determine whether the prefix was previously processed, defeating the intended tenant isolation of salted prefix caching. This issue is fixed in version 0.30.0.

Blast Radius

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

Ecosystem-wide dependent count for version 0.30.0.

Threat Intelligence Overview

EPSS Score
0.2%
Top 89% exploitable
Prevalence
Medium
popular open-source LLM inference engine, limited to self-hosted multi-tenant deployments
Threat Intel
1
1 source
Exploit
POC
Public exploit code exists
Data Quality
7 sources
Confidence: High
EUVD 🇯🇵JVN NVD CVE.org EPSS Vulnrichment GHSA GitHub VulDB

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 LOW
CISA KEV No
Public POC Yes
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.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
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Low
Technical Impact
Partial

Priority Score

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

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

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