Read the docs

Cross-tenant prefix cache oracle in vLLM Harmony tool continuations

Priority LOW 15CWE-200Published · Updated

Key facts

Attack vector
Network
Privileges required
Low
User interaction
None
Attack complexity
High
Impact type
Information disclosure
Confidentiality · integrity · availability
None · Low · None
Fix status
Partial Red Hat: 3 without a fix

Attack profile from CVSS 3.1 · CNA. Fix status from CNA, GitHub and Red Hat. Impact type from CWE-200.

Summary

vLLM before 0.30.0 rebuilds the next-turn input of Harmony tool continuations sent to POST /v1/responses without preserving cache_salt, so the continuation prefix is stored in the global unsalted cache (CWE-524). 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 read cached_tokens_per_turn to tell whether the prefix was processed before, defeating tenant isolation.

Written with Claude Haiku 5.5 from the sources below · 2026-10-29

Description from the CNA

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.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00216 12th percentileScored 2026-11-07
Fix Partial vllm (vllm-project): 0.30.0vllm (PyPI): 0.30.0Red Hat: 3 without a fix

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
vllm-projectvllmbefore 0.30.00.30.0Patch availableCNA
—vllm (PyPI)before 0.30.00.30.0Patch availableGHSA-935w-9g4m-p28p
  • vllm Vendorvllm-project Affected before 0.30.0 Fixed in 0.30.0 Patch available CNA
  • vllm (PyPI) Vendor— Affected before 0.30.0 Fixed in 0.30.0 Patch available GHSA-935w-9g4m-p28p

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:vllm:vllm:*:*:*:*:*:*:*:*before 0.30.0VulnerablevLLM
  • cpe:2.3:a:vllm:vllm:*:*:*:*:*:*:*:* Versions before 0.30.0 Vulnerable ·vLLM

Remediation

Upgrade the vllm package on PyPI to version 0.30.0, which fixes the flaw. Red Hat lists no plan available for Red Hat AI Inference Server, Red Hat Enterprise Linux AI (RHEL AI) 3 and Red Hat OpenShift AI (RHOAI).

Written with Claude Haiku 5.5 from the sources below · 2026-10-29

  • Fix · CNA vllm (vllm-project) Fixed in 0.30.0
  • Fix · GHSA-935w-9g4m-p28p vllm (PyPI) Fixed in 0.30.0 Advisory →

Vendor assessments

Red Hat

Red Hat rating: Low. Red Hat's page for this CVE →

ProductStatusPlan or fix
Red Hat AI Inference ServerAffectedNo fix yet: Fix deferred
Red Hat Enterprise Linux AI (RHEL AI) 3AffectedNo fix yet: Fix deferred
Red Hat OpenShift AI (RHOAI)AffectedNo fix yet: Fix deferred

Timeline

  1. 2026-10-06 Threatist record created from CVE-2026-105752
  2. 2026-10-06 Alias added: GHSA-935w-9g4m-p28p
  3. 2026-10-06 Fix available: PyPI/[email protected] · GHSA-935w-9g4m-p28p
  4. 2026-10-06 CVSS score added · GHSA-935w-9g4m-p28p
  5. 2026-10-06 Weakness changed · GHSA-935w-9g4m-p28p
  6. 2026-10-06 6 new references · GHSA-935w-9g4m-p28p
  7. 2026-10-06 Affected versions changed · Red Hat
  8. 2026-10-06 CVSS score added · Red Hat
  9. 2026-10-06 CISA SSVC decision points changed

References

  • TI-2024-10229 Remote Code Execution in vllm-project/vllm CVSS 3.0CRITICAL 9.8
  • TI-2024-08404 Remote Code Execution in vllm-project/vllm CVSS 3.1CRITICAL 9.8
  • TI-2026-36017 vLLM: OpenAI auth bypass CVSS 3.1CRITICAL 9.1
  • TI-2026-63056 vLLM before 0.28.0 Denial of Service via negative token ID CVSS 4.0HIGH 8.7
  • TI-2026-04308 Hardcoded trust_remote_code=True in vllm-project/vllm Bypasses User Security Control CVSS 3.0HIGH 8.8
  • TI-2026-39137 vLLM: Remote DoS in vLLM via Invalid Recovered Token Reinjection CVSS 3.1HIGH 7.5
See all 124 →

Sources