Description
vLLM through 0.29.0 fails to properly clean up decode-side metadata for rejected inference requests in prefill/decode disaggregated deployments. Remote attackers can submit requests with max_tokens=0 to exhaust decode-worker memory without bound until the worker restarts.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| vllm-project | vllm | ≤ 0.29.0 | — |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| PyPI | vllm | < 0.30.0 | 0.30.0 | PYSEC-2026-3996 |
References
- https://github.com/vllm-project/vllm/pull/55677 issue-tracking patch
- https://github.com/vllm-project/vllm/blob/v0.29.0/vllm/distributed/kv_transfer/kv_connector/v1/nixl/push_worker.py#L162-L181 technical-description
- https://github.com/vllm-project/vllm product
- VulnCheck Advisory: vLLM through 0.29.0 Memory Exhaustion via Rejected Requests third-party-advisory