CVE-2026-94626
7.5 HIGHpublic exploit availablePublished 2026-09-21 · Updated 2026-09-24
AI risk analysis
- 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.
- 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.
- Prioritized remediation
- Upgrade to vLLM version 0.29.1 or later to address the tp_size parameter validation issue.
memorydosllm
Analysis generated locally by garnet-coder (no data left the box). AI-assisted — verify against primary sources before acting.
NVD 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.
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weaknesses
CWE-789
Public exploit & PoC references
- https://github.com/vllm-project/vllm
- https://github.com/vllm-project/vllm/blob/v0.29.0/vllm/distributed/kv_transfer/kv_connector/utils.py#L569-L573
- https://github.com/vllm-project/vllm/blob/v0.29.0/vllm/distributed/kv_transfer/kv_connector/v1/nixl/metadata.py#L277
- https://github.com/vllm-project/vllm/pull/51137
References
- https://github.com/vllm-project/vllm
- https://github.com/vllm-project/vllm/blob/v0.29.0/vllm/distributed/kv_transfer/kv_connector/utils.py#L569-L573
- https://github.com/vllm-project/vllm/blob/v0.29.0/vllm/distributed/kv_transfer/kv_connector/v1/nixl/metadata.py#L277
- https://github.com/vllm-project/vllm/pull/51137
- https://www.vulncheck.com/advisories/vllm-through-0.29.0-memory-exhaustion-via-unvalidated-nixl-tp-size
Data: NVD (public domain). Analysis: local $0 model. Defensive use only.