{"schema":"threatline.record/2","record":{"id":"CVE-2026-114055","aliases":["GHSA-gx7p-2j49-hfq4"],"summary":"vLLM : DoS via unvalidated mm_processor_kwargs in multimodal image processors (Isaac, InternVL, H2OVL, etc.)","details":"## Summary\n\nAPI clients can supply arbitrary `mm_processor_kwargs` per request. vLLM\nforwards these values through the multimodal rendering and processing pipeline\nto Hugging Face and custom image/video processor constructors and calls.\nResource-sensitive values such as image size, patch size, patch count, crop\ncount, or frame count can therefore be controlled by a remote client.\n\nFor processors that upscale inputs, a single request can force an allocation\nlarge enough to terminate the API server or worker with an out-of-memory\ncondition.\n\n## Affected Components\n\nThe per-request field was introduced in commit\n`041e29471671a3d43afedb6a749421d56ef4d3e7` and first shipped in v0.7.3.\nThe generic forwarding path remains present in current `main`.\n\nThe Isaac path is a concrete high-amplification example:\n\n- `ChatCompletionRequest.mm_processor_kwargs`\n- `OnlineRenderer` request extras\n- `MMProcessorInputs.hf_processor_mm_kwargs`\n- `BaseMultiModalProcessor.info.get_hf_processor(**hf_processor_mm_kwargs)`\n- `IsaacProcessingInfo.get_image_processor(**kwargs)`\n- `IsaacImageProcessor(**kwargs)`\n- `process_vision_for_patches()`\n\nEquivalent constructor forwarding exists in InternVL-derived processors,\nH2OVL, Step3VL, NemotronVL, and other multimodal processors. The issue is at\nthe shared remote-input boundary and is not limited to a fixed model list.\n\n## Impact\n\n- **Availability:** one request can exhaust CPU or GPU memory and terminate a\n  shared service process.\n- **Scope:** all users of the affected service instance lose availability.\n- **Authentication:** vLLM's API key is optional, so deployments without an\n  external authentication layer are remotely reachable without privileges.\n\n## Remediation\n\nReject non-empty per-request `mm_processor_kwargs` at every API-server request\nschema by default. Operators serving only trusted clients can explicitly opt\nin to the existing override behavior. Server-level `--mm-processor-kwargs` and\noffline `LLM` overrides remain available.\n\nThis shared boundary covers current and future multimodal processors instead\nof maintaining a model-specific list or a denylist that can miss custom\nprocessor arguments.\n\nA patch for this was merged here: https://github.com/vllm-project/vllm/pull/58830","categories":["Libraries & packages"],"product":"vllm","vendor":"vllm-project","ecosystem":"pip","affected_ranges":[{"source":"GitHub Advisory Database","source_url":"https://github.com/advisories/GHSA-gx7p-2j49-hfq4","source_modified_at":"2026-10-23T20:58:38Z","fetched_at":"2026-10-23T21:10:45.942435Z","package":{"ecosystem":"pip","name":"vllm"},"range":">= 0.7.3, < 0.31.0"},{"source":"CVE List","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-114055","source_modified_at":"2026-10-21T15:50:46.285Z","fetched_at":"2026-10-23T18:45:31.882637Z","product":"vllm","vendor":"vllm-project","versions":[{"lessThan":"0.31.0","status":"affected","version":"0.7.3","versionType":"semver"},{"status":"unaffected","version":"0.31.0","versionType":"semver"}],"defaultStatus":"unaffected"}],"fixed_versions":[{"source":"GitHub Advisory Database","source_url":"https://github.com/advisories/GHSA-gx7p-2j49-hfq4","source_modified_at":"2026-10-23T20:58:38Z","fetched_at":"2026-10-23T21:10:45.942435Z","package":{"ecosystem":"pip","name":"vllm"},"version":"0.31.0"},{"source":"CVE List","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-114055","source_modified_at":"2026-10-21T15:50:46.285Z","fetched_at":"2026-10-23T18:45:31.882637Z","package":{"name":"vllm","ecosystem":null},"version":"0.31.0","basis":"first unaffected version stated in the CVE record"}],"cvss":7.5,"severity":"High","kev":{"listed":false},"epss":{"probability":0.00343,"percentile":0.26667,"score_date":"2026-10-23"},"published_at":"2026-10-21T00:36:31.227Z","modified_at":"2026-10-23T20:58:38Z","provenance":[{"source":"GitHub Advisory Database","url":"https://github.com/advisories/GHSA-gx7p-2j49-hfq4","fetched_at":"2026-10-23T21:10:45.942435Z","source_modified_at":"2026-10-23T20:58:38Z"},{"source":"CVE List","url":"https://www.cve.org/CVERecord?id=CVE-2026-114055","fetched_at":"2026-10-23T18:45:31.882637Z","source_modified_at":"2026-10-21T15:50:46.285Z"},{"source":"EPSS","url":"https://api.first.org/data/v1/epss?cve=CVE-2026-114055","fetched_at":"2026-10-23T18:42:43.628194Z","source_modified_at":"2026-10-23"}],"sources":["GitHub Advisory Database","CVE List","EPSS"],"references":[{"source":"CVE List","url":"https://github.com/vllm-project/vllm/security/advisories/GHSA-gx7p-2j49-hfq4","tags":["vendor-advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-114055","source":"GitHub Advisory Database"},{"url":"https://github.com/vllm-project/vllm/pull/58830","source":"GitHub Advisory Database"},{"url":"https://github.com/vllm-project/vllm/commit/31f2e70cd3e403aaa471fb7fe3d33a7207aaf3cc","source":"GitHub Advisory Database"},{"url":"https://github.com/vllm-project/vllm/releases/tag/v0.31.0","source":"GitHub Advisory Database"},{"source":"CVE List","url":"https://www.vulncheck.com/advisories/vllm-0.7.3-before-0.31.0-dos-via-unvalidated-mm-processor-kwargs","tags":["third-party-advisory"]},{"url":"https://github.com/advisories/GHSA-gx7p-2j49-hfq4","source":"GitHub Advisory Database"}],"locations":[],"motoko_assessment":{"status":"requires_architecture_review","automatic_remediation":false},"cve_state":"PUBLISHED","ssvc":{"exploitation":"none","automatable":"yes","technical_impact":"partial","assessed_at":"2026-10-21T14:40:33.947720Z"},"classification":{"method":"product-first software-layer rules","rules_version":"2.1","matched_on":"ecosystem","confidence":"heuristic","reviewed":false},"change_timestamp":"2026-10-23T20:58:38Z","content_hash":"6098919f15259be1fe7c34d6a9bbe270aacd99d9ec1fb5e7b87c8727945ab1e1"}}
