CVE-2026-34760: vLLM: Processing differential in multi-channel audio downmixing enables hidden-input/moderation bypass for audio models
vLLM 0.5.5 up to 0.18.0 turned multichannel audio into mono with a plain average through librosa, not the weighted method in the ITU-R BS.775-4 standard. An attacker can craft audio that sounds clean to people but carries different content to the model, bypassing moderation or voice checks. Fixed in vLLM 0.18.0, which drops librosa.
Published Jul 17, 2026 · Analysis Oct 25, 2026
What an attacker can do
Librosa's to_mono averages all channels with numpy.mean. The ITU-R BS.775-4 standard instead weights channels, and consumer playback ignores the low-frequency effects (LFE) channel and anything past the sixth channel. So the same file is heard one way by a person and read another way by a model.
An attacker builds a multichannel file where the front left and right channels carry harmless content, and the LFE channel, or channels beyond the sixth, carry interference or hidden content. On speakers or headphones that skip those channels, a listener hears the harmless audio. When vLLM downmixes with the mean, the hidden channel is mixed in and the audio model processes it.
The advisory lists these outcomes: voice authentication that accepts anomalous audio, content moderation that misses prohibited content, and speech recognition that gives wrong transcripts. The attack can go both ways: hidden instructions for an audio model that the human reviewer never hears.
The attacker needs to submit audio to a vLLM server that serves an audio model. The CVSS vector sets high attack complexity and low privileges. The impact is on integrity, rated high, with a low availability effect. This is not a crash or code execution bug. It is a mismatch between what is reviewed and what is processed.
Who is affected
The pip package vllm from 0.5.5 up to, but not including, 0.18.0. Servers serving audio-capable models and accepting audio input are the ones at risk. Text-only deployments are not affected in a way the advisory describes.
pip show vllmIf you run your own preprocessing with librosa before vLLM, the same mismatch applies there, as the librosa security report linked from the advisory covers it.
vllm
- Ecosystem
- PyPI
- Affected
- >= 0.5.5, < 0.18.0
- Fixed in
- 0.18.0
- Check
pip show vllm
How to fix it
Upgrade to vLLM 0.18.0:
pip install --upgrade "vllm>=0.18.0"The fix, pull request 37058, removes the librosa dependency from vLLM and loads audio with PyAV instead. The pull request page does not show which downmix method the new code uses, so test your audio pipeline against known multichannel samples after upgrading.
The advisory gives no workaround. If you cannot upgrade, do the downmix yourself before the audio reaches vLLM, using the ITU-R BS.775-4 weights, and reject files with more than two channels.
How to tell if you were hit
There is no log signature, since the request is valid. Look at stored uploads for multichannel files, especially 5.1 or larger layouts with a loud or speech-like LFE or rear channel. A script that splits channels and compares transcripts of the front pair against a plain average will show the difference.
Review moderation misses where the transcript differs from what reviewers heard. If you keep original files, replay them with the LFE channel muted and check whether the model output changes.
Original advisory
From the GitHub Advisory Database (CC BY 4.0).
Issue Description
Librosa defaults to using numpy.mean for mono downmixing (to_mono), while the international standard ITU-R BS.775-4 specifies a weighted downmixing algorithm. This discrepancy results in:
- Inconsistency between audio heard by humans (e.g., through headphones/regular speakers) and audio processed by AI models (Which infra via Librosa, such as vllm, transformer).
https://github.com/librosa/librosa/blob/af8c839fb15317fa2712ea66e7a22da6a9267b32/librosa/core/audio.py#L478
Attack Scenario and Impact
LFE (Low-Frequency Effects) Channel Exploit
Attackers can craft special multichannel audio files containing:
- Normal content in front channels (L/R)
- Either interference signals or hidden content in the LFE channel
Notice: It is worth noting that not only the LFE channel is excluded, but in fact, channels beyond the 6th (such as rear surround channels, overhead channels, height speakers, etc.) are also not supported.
Attack Methodology:
Attackers can create specially engineered multichannel audio with LFE interference, where front channels (L/R) contain normal content while the LFE channel carries interference signals or hidden content. When played on consumer devices that ignore LFE channels, only the normal content is heard. However, when processed by AI systems using Librosa (which mixes all channels), the LFE interference affects speech recognition feature extraction or masks critical detection features. This enables malicious content to bypass AI detection while still reaching end users, potentially compromising voice authentication systems, evading content moderation, or disrupting speech recognition accuracy.
Potential Exploitation Scenarios:
- Voice authentication systems may be tricked into accepting anomalous audio
- Content moderation systems may fail to detect prohibited content hidden in LFE channels
- Speech recognition systems may produce incorrect transcriptions
Note: torch.audio implements this correctly. Failure to do so may lead to inconsistencies between training and test audio, resulting in performance degradation.
Resources
Fixes
- https://github.com/vllm-project/vllm/pull/37058, which removes the librosa dependency from vLLM.
Credited to kexinoh, russellb, DarkLight1337, Isotr0py.
Questions
- Is CVE-2026-34760 a code execution bug?
No. It is a processing mismatch. The model hears audio that a person does not, which can bypass moderation or voice authentication.
- Which vLLM versions fix it?
0.18.0. The affected range is 0.5.5 up to, but not including, 0.18.0. The fix removes the librosa dependency.
- Why does the LFE channel matter?
Many consumer devices ignore the LFE channel and channels past the sixth. Librosa's plain mean mixes them into the mono signal anyway, so the model gets content a listener never hears.
- Does torchaudio have the same problem?
The advisory says
torch.audioimplements the downmix correctly. The issue was with librosa's default mean.
References
Read for this analysis:
- https://github.com/vllm-project/vllm/security/advisories/GHSA-6c4r-fmh3-7rh8
- https://github.com/vllm-project/vllm/pull/37058
- https://nvd.nist.gov/vuln/detail/CVE-2026-34760
- https://github.com/vllm-project/vllm/commit/c7f98b4d0a63b32ed939e2b6dfaa8a626e9b46c4
- https://github.com/pypa/advisory-database/tree/main/vulns/vllm/PYSEC-2026-2299.yaml
- https://github.com/vllm-project/vllm/releases/tag/v0.18.0
- https://github.com/advisories/GHSA-6c4r-fmh3-7rh8
How this page is made: the data panel comes from the GitHub Advisory Database, CISA’s KEV catalog, the NVD and FIRST EPSS, and updates twice a day. The analysis is written by an AI model from the sources listed above and checked by automated rules before it is published. Check versions against the vendor's advisory before you act. Methodology
More vLLM vulnerabilities
All vLLM entriesCVE-2026-114050
vLLM: Forged multimodal UUID + P0/P1 processor-cache eviction drift: unauthenticated remote crash of the whole vLLM engine
medium6.5Oct 23, 2026CVE-2026-114055
vLLM : DoS via unvalidated mm_processor_kwargs in multimodal image processors (Isaac, InternVL, H2OVL, etc.)
high7.5Oct 23, 2026CVE-2026-105752
vLLM: Harmony tool continuations drop `cache_salt` — restoring a cross-tenant prefix-cache membership oracle
low3.1Oct 6, 2026CVE-2026-105753
vLLM: Mirrored multimodal IPC caches desync after a rejected request — a later request reusing the same media hash trips a receiver assertion in the engine core
medium6.5Oct 6, 2026CVE-2026-105754
vLLM: Scale-out disaggregated multimodal transport trusts caller-supplied features
medium6.5Oct 5, 2026CVE-2026-105755
vLLM: Flash late-interaction scoring caches query embeddings under a caller-controlled request id — cross-request integrity break and induced errors on `/score` and `/rerank`
medium4.2Oct 5, 2026
