vLLM : DoS via unvalidated mm_processor_kwargs in multimodal image processors (Isaac, InternVL, H2OVL, etc.)
CVE-2026-114055 · GHSA-gx7p-2j49-hfq4 · published 23 Oct 2026
How serious is it
- Severity: high, CVSS score 7.5 out of 10.
- No exploit prediction (EPSS) score yet.
- Not on the CISA list of exploited vulnerabilities.
- No public exploit in Exploit-DB.
Is your app affected by CVE-2026-114055?
Paste this prompt into Claude Code, Cursor or any AI coding tool: it runs a free Shippable scan of your project and fixes what it finds. Built with Lovable, Bolt or v0? Scan your live app. Or upload your package file.
Who is affected
vllm(PyPI) >= 0.7.3, < 0.31.0
How to check
- Run
pip show vllmin your project to see the installed version, including copies pulled in by other packages. - Or paste your lockfile into the checker: it lists every package with a known vulnerability, this one included.
- Or run
npx shippable-dev scan localhost:3000in your project folder. It reads your lockfile and flags this vulnerability along with every other known one.
How to fix
Copies a prompt for Claude Code, Cursor or Codex: it checks your lockfiles for this and upgrades it.
- Upgrade
vllmto 0.31.0 or later, commit the lockfile and redeploy. - If a vulnerable version was live, check your logs and rotate the secrets that server could read.
The advisory
## Summary
API clients can supply arbitrary `mm_processor_kwargs` per request. vLLM
forwards these values through the multimodal rendering and processing pipeline
to Hugging Face and custom image/video processor constructors and calls.
Resource-sensitive values such as image size, patch size, patch count, crop
count, or frame count can therefore be controlled by a remote client.
For processors that upscale inputs, a single request can force an allocation
large enough to terminate the API server or worker with an out-of-memory
condition.
## Affected Components
The per-request field was introduced in commit
`041e29471671a3d43afedb6a749421d56ef4d3e7` and first shipped in v0.7.3.
The generic forwarding path remains present in current `main`.
The Isaac path is a concrete high-amplification example:
- `ChatCompletionRequest.mm_processor_kwargs`
- `OnlineRenderer` request extras
- `MMProcessorInputs.hf_processor_mm_kwargs`
- `BaseMultiModalProcessor.info.get_hf_processor(**hf_processor_mm_kwargs)`
- `IsaacProcessingInfo.get_image_processor(**kwargs)`
- `IsaacImageProcessor(**kwargs)`
- `process_vision_for_patches()`
Equivalent constructor forwarding exists in InternVL-derived processors,
H2OVL, Step3VL, NemotronVL, and other multimodal processors. The issue is at
the shared remote-input boundary and is not limited to a fixed model list.
## Impact
- **Availability:** one request can exhaust CPU or GPU memory and terminate a
shared service process.
- **Scope:** all users of the affected service instance lose availability.
- **Authentication:** vLLM's API key is optional, so deployments without an
external authentication layer are remotely reachable without privileges.
## Remediation
Reject non-empty per-request `mm_processor_kwargs` at every API-server request
schema by default. Operators serving only trusted clients can explicitly opt
in to the existing override behavior. Server-level `--mm-processor-kwargs` and
offline `LLM` overrides remain available.
This shared boundary covers current and future multimodal processors instead
of maintaining a model-specific list or a denylist that can miss custom
processor arguments.
A patch for this was merged here: https://github.com/vllm-project/vllm/pull/58830
Check your whole app
Dependencies are only half of it. Free and read-only: before you push, run npx shippable-dev scan localhost:3000 in your project folder, no account needed. For your live app, you prove it's yours with a one-line tag first.
References
- github.com/vllm-project/vllm/security/advisories/GHSA-gx7p-2j49-hfq4
- nvd.nist.gov/vuln/detail/CVE-2026-114055
- github.com/vllm-project/vllm/pull/58830
- github.com/vllm-project/vllm/commit/31f2e70cd3e403aaa471fb7fe3d33a7207aaf3cc
- github.com/vllm-project/vllm/releases/tag/v0.31.0
- www.vulncheck.com/advisories/vllm-0.7.3-before-0.31.0-dos-via-unvalidated-mm-processor-kwargs
- github.com/advisories/GHSA-gx7p-2j49-hfq4
- github.com/vllm-project/vllm
Merged from GitHub Advisory Database, OSV. Last updated 26 Oct 2026. All vulnerabilities · RSS · JSON