ADVISORYSECURITY ADVISORY·2026-10-20
vLLM 0.32.0: three GHSA fixes, CORS closed by default, wider NVFP4 KV cache
▼ WHAT HAPPENED
vLLM v0.32.0 was published on GitHub on October 18, 2026. The notes count 814 commits from 363 contributors.
**Security.** The release fixes GHSA-4hhp-h66f-j5j7 (chat template resource exhaustion), GHSA-q97c-p368-75c4 (an off-by-one in tokenizer `max_token_id`) and GHSA-frvg-qw88-hww9 (P2P ZMQ socket exhaustion). Untrusted images are now limited to raster formats. Structured-output JSON schemas nested more than 64 levels deep return a 400 error.
**Breaking changes.** Default CORS origins changed from `*` to none in the Python and Rust frontends, so browser clients need `--allowed-origins`. Python 3.10 is dropped; the minimum is 3.11. vLLM now requires `transformers>=5.16.1,<5.20.0` and `tokenizers>=0.23.2`. Cascade attention is removed; `--disable-cascade-attn` still parses but only warns, and the notes say the flag will be removed in v0.33.0. `max_tokens` is now an upper bound on output, not a reservation from the context window, so long prompts are no longer rejected.
**KV cache.** NVFP4 KV cache now runs on SM8x, SM12x and SM90 GPUs. ROCm gains a 4-bit `ultraquant_4bit` KV cache, which the notes say has about 2x the density of FP8.
**Models and endpoints.** New model support includes EmbeddingGemma 2 (omni-modal embeddings), MiniCPM-V 4.7 and Nemotron 3.5 ASR (complete-audio transcription; realtime streaming is not yet supported). A new `POST /v1/systemone` endpoint, listed under structured decisions, answers `choice`, `score` and one other question type over a structured state. A new `hf` tool and reasoning parser reads a checkpoint's `response_template`.
**Builds.** `pip install vllm` targets CUDA 13.0. CUDA 12.9, ROCm, CPU and XPU wheels and Docker images are also published, and the CPU wheels include macOS.
The previous release, v0.31.0 (October 5, 2026), rejects per-request `mm_processor_kwargs` and `media_io_kwargs` unless `--trust-request-mm-kwargs` is set.
▼ OPERATOR ANGLE
If your vLLM server is reachable from other machines, plan the upgrade soon, but prepare first. Move Python 3.10 environments to 3.11 or newer. Check that other packages in the same environment accept the required `transformers` and `tokenizers` ranges. If a browser front-end calls the vLLM API directly, set `--allowed-origins` before restarting, or the browser may block its requests. Remove `--disable-cascade-attn` from launch scripts. If your client relied on vLLM rejecting prompts that left too little room for `max_tokens`, add that check on the client side. If you are coming from a release before 0.31.0 and clients send per-request multimodal kwargs, set `--trust-request-mm-kwargs` only if you trust those clients. On SM8x, SM12x or SM90 NVIDIA GPUs you can now try NVFP4 KV cache. We have not benchmarked it, so compare output quality and speed on your own prompts before switching.
▼ ENTITIES REFERENCED
[pulse item] · runlocalai.co/pulse/vllm-0-32-0-security-fixes-cors-default-nvfp4-kv-cache