CVE-2026-78684: vLLM DeepStream backend classification and pixel-limit enforcement bypass

CVE-2026-78684 · Severity: medium · CVSS 5.3 · Published 2026-08-25

vLLM is an open-source inference engine for large language models that supports video input processing. Attackers can exploit a flaw in how the DeepStream GPU video decoder is classified to bypass resource controls and trigger a partial denial of service affecting concurrent requests. By requesting GPU-accelerated video decoding that was not pre-configured at startup, an unauthenticated attacker can cause legitimate requests to time out and fail.

Technologies: vllm (PyPI), Vllm. Vendors: PyPI, Vllm.

Quick answers

Is CVE-2026-78684 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-78684 being exploited in the wild.
How severe is CVE-2026-78684?
Medium severity, with a CVSS score of 5.3, published 25 August 2026.
Which products and versions are affected?
vllm (PyPI) ECOSYSTEM:introduced=0,fixed=0.27.0; Vllm before 0.27.0.
Is there a fix for CVE-2026-78684?
Yes. vllm (PyPI): upgrade to 0.27.0 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-78684 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-78684?
Check whether you run vllm (PyPI) or Vllm at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • vllm (PyPI): upgrade to 0.27.0 or later
    pip install "vllm>=0.27.0"

Technical details

The vulnerability stems from three root causes: (1) DeepStream is registered as an inner codec of OpenCV rather than as a standalone GPU backend, allowing backend_requires_gpu() to return False and requests to bypass GPU backend validation in VideoMediaIO.merge_kwargs(); (2) the DeepStream decode path calls probe_metadata() but omits the _check_frame_pixel_limit() validation check applied by other backends (OpenCV, PyAV, TorchCodec, PyNvVideoCodec), allowing oversized frames to be processed; and (3) DeepStream uses a process-wide singleton decode pool initialized on first request with user-controlled pool size, rather than at startup. An unauthenticated client can send a video inference request specifying backend="deepstream" to initialize the GPU decode pool and submit video that would be rejected by other backends, exhausting GPU resources and causing timeouts for concurrent requests. The fix requires registering DeepStream as a GPU-classified codec, enforcing pixel-limit checks, and making pool initialization startup-only.

Affected products

  • vLLM vLLM before 0.27.0

Identifiers

  • CVE-2026-78684
  • PYSEC-2026-4003

Timeline

  • 2026-08-25: disclosed
  • 2026-08-11: patched: fix available in version 0.27.0 and later

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.