{"id":"CVE-2026-94626","published":"2026-09-21T22:17:01.587","lastModified":"2026-09-24T23:19:22.817","description":"vLLM through 0.29.0 fails to validate the tp_size parameter in kv_transfer_params on OpenAI-compatible completion endpoints, allowing attackers to allocate unbounded memory. Attackers can supply arbitrary tp_size values in prefill/decode disaggregated deployments to exhaust memory and trigger kernel OOM-kill of the decode worker process.","cvssScore":7.5,"cvssSeverity":"HIGH","cvssVector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","cwes":["CWE-789"],"vendors":[],"products":[],"references":[{"url":"https://github.com/vllm-project/vllm","tags":[]},{"url":"https://github.com/vllm-project/vllm/blob/v0.29.0/vllm/distributed/kv_transfer/kv_connector/utils.py#L569-L573","tags":[]},{"url":"https://github.com/vllm-project/vllm/blob/v0.29.0/vllm/distributed/kv_transfer/kv_connector/v1/nixl/metadata.py#L277","tags":[]},{"url":"https://github.com/vllm-project/vllm/pull/51137","tags":[]},{"url":"https://www.vulncheck.com/advisories/vllm-through-0.29.0-memory-exhaustion-via-unvalidated-nixl-tp-size","tags":[]}],"exploitRefs":[{"url":"https://github.com/vllm-project/vllm","tags":[]},{"url":"https://github.com/vllm-project/vllm/blob/v0.29.0/vllm/distributed/kv_transfer/kv_connector/utils.py#L569-L573","tags":[]},{"url":"https://github.com/vllm-project/vllm/blob/v0.29.0/vllm/distributed/kv_transfer/kv_connector/v1/nixl/metadata.py#L277","tags":[]},{"url":"https://github.com/vllm-project/vllm/pull/51137","tags":[]}],"hasPoc":true,"ai":{"summary":"The vLLM library fails to validate the tp_size parameter in kv_transfer_params, allowing unbounded memory allocation during prefill/decode operations. This vulnerability can lead to memory exhaustion and kernel OOM-kill of decode worker processes.","exploitability":"Exploitation is straightforward as attackers can simply supply arbitrary tp_size values through OpenAI-compatible completion endpoints without requiring authentication or user interaction.","blast_radius":"The vulnerability affects prefill/decode disaggregated deployments where attackers can trigger memory exhaustion across multiple decode worker processes, potentially causing service disruption and denial of service.","remediation":"Upgrade to vLLM version 0.29.1 or later to address the tp_size parameter validation issue.","detection":"Monitor for kernel OOM-kill messages in system logs when decode worker processes are terminated, and watch for unusually high memory consumption patterns during prefill/decode operations.","tags":["memory","dos","llm"],"model":"garnet-coder","analyzedAt":"2026-10-18T16:15:39.002Z"}}