CVE-2026-57173 is a medium-severity (CVSS 6.5) CWE-770 vulnerability in vllm. A fix is available for vllm — see the affected versions and patch details below.
vLLM: Unauthenticated audio decompression-bomb DoS in /v1/chat/completions
Exploitation Status
No confirmed exploitation observed yet
- CISA’s own triage has not observed active exploitation or public proof-of-concept code for this CVE as of its last assessment.
Exploitation and automatability from CISA’s SSVC triage for CVE-2026-57173.
EPSS Exploitation Probability
Probability of exploitation in the next 30 days, from FIRST.org EPSS.
How urgent is this, really
Where this sits among everything scored
Real-World Exposure
vllmReal-time download stats are indexed for npm and PyPI packages. This vulnerability affects PyPI packages — download data is not available via public APIs for these ecosystems.
Description
Summary
The audio decode-duration guard (max_duration_s, env VLLM_MAX_AUDIO_DECODE_DURATION_S, default 600s) that protects against audio decompression-bomb DoS is wired into only the speech-to-text path (/v1/audio/transcriptions). The chat audio path (/v1/chat/completions, input_audio content parts) calls the same decoder with no limit, so an unauthenticated client can submit a few-KB compressed audio file that expands to multiple GB of float32 PCM at decode time, OOM-killing the worker. This is a distinct sibling of CVE-2026-5497 (video frame-count bomb, VideoMediaIO.load_base64) and GHSA-pq5c-rjhq-qp7p (image) in the same media subsystem.
Verified against main at HEAD d78650c (2026-06-16); applicable to the latest release v0.23.0.
Details
The guard rejects long audio during decode (before allocation), implemented in vllm/multimodal/media/audio.py:
load_audio_pyav— metadata reject (~82-98) and live sample-count reject (~129-136)load_audio_soundfile— frames reject (~165-174)
All are gated on if max_duration_s is not None.
It is passed in exactly one place — the transcription serving layer:
# .../speech_to_text/base/serving.py:~170-174
load_audio(buf, sr=..., max_duration_s=self.max_audio_decode_duration_s)
# self.max_audio_decode_duration_s = envs.VLLM_MAX_AUDIO_DECODE_DURATION_S (default 600)
The chat path never threads it:
# vllm/multimodal/media/audio.py:237-238
def load_bytes(self, data: bytes) -> tuple[npt.NDArray, float]:
return load_audio(BytesIO(data), sr=None) # no max_duration_s -> every guard above is skipped
Unauthenticated reachability chain (chat):
parse_input_audio (chat_utils.py) -> parse_audio -> connector.fetch_audio -> AudioMediaIO._load_data_url -> load_base64 -> load_bytes -> load_audio(..., sr=None). The connector never passes max_duration_s, and inline data: URLs need no HTTP fetch (so VLLM_AUDIO_FETCH_TIMEOUT does not bound them). The OpenAI-compatible server has no auth by default (auth only when --api-key / VLLM_API_KEY is set).
Impact
Unauthenticated remote denial of service (availability) via memory amplification on a default-no-auth endpoint, on any deployment serving an audio-capable model. Same class and impact as the sibling CVE-2026-5497 (video). CWE-770 / CWE-409.
Fix
A fix was introduced in this MR: https://github.com/vllm-project/vllm/pull/45908
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| 🐍PyPI | vllm | all versions | 0.24.0pip install --upgrade 'vllm==0.24.0' |
Affected Products
vllmvllmDetection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for vllm, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update vllm to 0.24.0 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms CVE-2026-57173 is resolved across your whole dependency graph.
Workarounds
Cap what an attacker can consume: apply request size, rate and timeout limits in front of the affected component, and run it with memory and CPU limits so exhaustion degrades one worker rather than the whole service.
Fixing This On Your OS
If you run this on a Linux distribution, patch through your package manager against the distro's own security advisory below — it tracks the exact backported fix for your release, which can ship on a different timeline (and sometimes a different severity) than the upstream project.
This Moderate impact denial of service flaw in vLLM affects Red Hat AI Inference Server, Red Hat OpenShift AI, and Red Hat Enterprise Linux AI when configured to serve audio-capable models. An unauthenticated attacker could provide a specially crafted compressed audio input, leading to excessive memory allocation and…
To mitigate this issue, restrict network access to the vLLM service to trusted clients only. Alternatively, if audio processing is not required, avoid deploying audio-capable models to eliminate the vulnerable attack surface. If the service is exposed, ensure proper network segmentation and firewall rules are in place to limit reachability.Source: Red Hat security advisory for CVE-2026-57173 (CC BY 4.0)
Frequently Asked Questions
Is CVE-2026-57173 in your dependencies?
Find it across PyPI, including transitive dependencies.