Summary
CVE-2026-94627 is a denial-of-service vulnerability in vLLM’s Mooncake KV-transfer connector, used in prefill/decode disaggregated serving deployments. The connector fails to properly manage GPU KV cache block ownership when concurrent child requests share a single transfer ID, allowing an unauthenticated remote attacker to exhaust GPU memory and degrade or disable the inference service. The issue is rated HIGH severity and affects all vLLM releases through 0.29.0 that use the Mooncake connector.
Technical details
- Root cause: In
mooncake_connector.py, when a completion request containing multiple prompts spawns concurrent "child" requests, those child requests can share a single Mooncake transfer ID. The connector does not correctly track per-request ownership of GPU KV cache blocks tied to that shared transfer ID. - Trigger conditions: The target vLLM instance must be running in a prefill/decode (P/D) disaggregated deployment using the Mooncake KV cache transfer connector. An attacker submits completion requests containing multiple prompts, causing overlapping/duplicate transfer IDs.
- Attack vector: Network-based; no authentication or user interaction is required to send the crafted completion requests.
- Impact: Because ownership of the shared transfer ID is mismanaged, KV cache blocks become orphaned rather than released when a request completes. These orphaned blocks accumulate in GPU memory over repeated requests until the process is restarted, ultimately exhausting GPU memory and blocking legitimate inference requests (availability impact only — no confidentiality or integrity impact).
Affected software
- vllm-project vLLM — all versions through 0.29.0 that are deployed with the Mooncake connector in prefill/decode disaggregated configurations (
vllm/distributed/kv_transfer/kv_connector/v1/mooncake/mooncake_connector.py)
Severity
- CVSS v3.1 Base Score: 7.5 (HIGH) —
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - CVSS v4.0 Base Score: 8.7 (HIGH) —
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N - CWE-401: Missing Release of Memory after Effective Lifetime
Mitigation and recommended actions
- Immediate: Upgrade to a vLLM release that incorporates the fix from pull request #49796, which rejects duplicate/reused Mooncake
transfer_idvalues to prevent KV cache leakage. Confirm the running version is newer than 0.29.0 and includes this fix before continuing to use the Mooncake connector in production. - If immediate patching is not possible:
- Disable or avoid the Mooncake KV-transfer connector in prefill/decode disaggregated deployments until patched.
- Restrict network access to the vLLM API endpoint to trusted clients only (e.g., via firewall rules, API gateway authentication, or network segmentation), since the flaw requires no authentication to trigger.
- Monitor GPU memory utilization and implement automated process restarts/alerting to reduce the impact of cache-block accumulation until the patch can be applied.
- Rate-limit or restrict completion requests containing large numbers of prompts, since these are the trigger for the orphaned-block accumulation.

