What happened
vLLM versions >=0.10.2 and <0.28.0 do not apply any audio decode-size or duration limit when extracting audio from video input for NanoNemotronVL models. In nano_nemotron_vl.py, _extract_audio_from_videos calls load_audio_pyav(BytesIO(video_bytes)) without passing max_duration_s or max_decode_bytes parameters, allowing an attacker to supply a small, highly compressed video that forces the server to allocate gigabytes of memory during audio decoding, resulting in denial of service.
Why it matters
A low-effort, small-payload request can exhaust memory on a shared multimodal-inference server, disrupting availability for all users of that vLLM instance — a classic amplification DoS against AI inference infrastructure with no authentication bypass required beyond normal API access.
Attack vector
Authenticated client submits a small, highly compressed video file to the multimodal endpoint; the audio-extraction path decodes it without size/duration limits, causing gigabyte-scale memory allocation and server crash.
Affected systems
vLLM >=0.10.2, <0.28.0 (NanoNemotronVL model support)
Mitigation
Upgrade to vLLM 0.28.0 or later, which enforces max_duration_s/max_decode_bytes limits on the NanoNemotronVL audio-extraction path.