The vulnerability, CVE-2026-105752, stems from a failure to propagate the cache_salt parameter during tool-continuation re-submissions in vLLM's Harmony API (/v1/responses). The cache_salt is crucial for multi-tenant isolation in the prefix cache. The core issue is that while the initial request correctly includes cache_salt, subsequent turns after a tool call (which are re-submitted internally) omit this parameter. This causes the continuation prefixes to be cached in a global, unsalted namespace, making them discoverable by other tenants.
The analysis of the provided commit 6a2a2bb02b563b83f946012959fd3927984d072a and the vulnerability description points to OpenAIServingResponses._create_responses in vllm/entrypoints/openai/responses/serving.py as the primary vulnerable function. This function was responsible for handling the multi-turn logic for Harmony requests. Specifically, within this function, when a HarmonyContext was active (indicating a tool-use scenario), the code would call tokens_input(token_ids) without passing the cache_salt for continuation turns. This omission led to the security bypass.
The patch addresses this by refactoring the prompt rendering logic. Instead of directly calling tokens_input(token_ids) without the salt, the updated code now uses a new OnlineRenderer.render_responses method, which is designed to correctly propagate the cache_salt throughout all turns of the conversation. Therefore, the _create_responses function, in its state prior to this patch, contained the vulnerable logic that failed to maintain the cache_salt for tool continuations, leading to the information leakage.