{"id":29731,"date":"2026-09-27T00:31:33","date_gmt":"2026-09-26T16:31:33","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-100651"},"modified":"2026-09-27T00:31:33","modified_gmt":"2026-09-26T16:31:33","slug":"cve-2026-100651","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-100651","title":{"rendered":"CVE-2026-100651 [MEDIUM] &#8211; vLLM before 0.29.0 fails to enforce decoder prompt-length validation on the disaggregated"},"content":{"rendered":"<p>vLLM before 0.29.0 fails to enforce decoder prompt-length validation on the disaggregated serving endpoint \/inference\/v1\/generate. When the request contains a &#8216;features&#8217; (multimodal) payload, vllm\/entrypoints\/serve\/disagg\/serving.py builds a multimodal EngineInput directly from the caller-supplied token_ids, and GenerateRequest.token_ids (vllm\/entrypoints\/serve\/disagg\/protocol.py) is not checked against model_config.max_model_len. For multimodal processors that report skip_prompt_length_check=True (for example Nemotron Parse, Whisper, and FireRedLID), InputProcessor._validate_prompt_len() returns immediately for both encoder and decoder prompts, so an overlong prompt becomes an EngineCoreRequest and reaches the worker input-batch copy into a fixed max_model_len-wide NumPy row. A client able to reach the endpoint on an affected model configuration can therefore submit an overlong token_ids list to trigger a worker failure and denial of service. Fixed in 0.29.0.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>vLLM before 0.29.0 fails to enforce decoder prompt-length validation on the disaggregated serving endpoint \/inference\/v1\/generate. When the request contains a &#8216;features&#8217; (multimodal) payload, vllm\/ent<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-29731","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/29731","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln"}],"about":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/types\/vuln"}],"wp:attachment":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=29731"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=29731"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=29731"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}