CVE-2026-69147
vLLM is an inference and serving engine for large language models. Prior to 0.28.0, request bodies for Chat Completions and Responses can set media_io_kwargs.video.video_backend to pynvvideocodec, and MediaConnector.fetch_video forwards that choice to VideoMediaIO even when startup configuration selected a software decoder. The engine's _reserve_mm_ipc_gpu_memory logic budgets decoder memory only from static configuration, so the request-selected VIDEO_LOADER_REGISTRY backend can create a CUDA context, decoder surfaces, and decoded-frame allocations that were not removed from the engine's KV-cache budget. An attacker able to submit video requests to a video-capable GPU deployment with PyNvVideoCodec installed can exhaust shared GPU memory, causing request failures, worker crashes, or denial of service. The first release containing the fix is version 0.28.0.
- CVSS 3.1
- 6.5
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H - EPSS
- 0.6% chance of exploitation in the next 30 days; higher than 47% of CVEs (scores of 2026-10-25)
- CWEs
- CWE-400, CWE-770
- Published
- Modified
- Record from
- the NVD, synced
Affected
- vllm:vllm
Packages (OSV)
| Advisory | Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|---|
| GHSA-8pw2-6jv3-mj5j | PyPI | vllm | <0.28.0 | 0.28.0 |
| PYSEC-2026-4178 | PyPI | vllm | <0.28.0 | 0.28.0 |
References
- https://github.com/vllm-project/vllm/commit/283893c72292ede38d277e3cd2b9b64c3e4f1dda
- https://github.com/vllm-project/vllm/commit/ba22152096b2484faa3579624a253d54804d876d
- https://github.com/vllm-project/vllm/pull/47259
- https://github.com/vllm-project/vllm/security/advisories/GHSA-8pw2-6jv3-mj5j
- https://github.com/vllm-project/vllm/security/advisories/GHSA-8pw2-6jv3-mj5j