CVE-2026-100651 in vLLM
Riassunto
di VulDB • 26/09/2026
vLLM prima della versione 0.29.0 non applica la convalida della lunghezza del prompt per il decoder sull'endpoint di servizio disaggregato /inference/v1/generate. Quando la richiesta contiene un payload 'features' (multimodale), vllm/entrypoints/serve/disagg/serving.py costruisce direttamente un EngineInput multimodale a partire dai token_ids forniti dall'utente, e GenerateRequest.token_ids (vllm/entrypoints/serve/disagg/protocol.py) non viene controllato rispetto al valore max_model_len di model_config. Per i processor multimodali che riportano skip_prompt_length_check=True (ad esempio Nemotron Parse, Whisper e FireRedLID), InputProcessor._validate_prompt_len() restituisce immediatamente sia per i prompt dell'encoder che del decoder; pertanto un prompt eccessivamente lungo diventa un EngineCoreRequest e raggiunge la copia dello input-batch del worker in una riga NumPy di larghezza fissa pari a max_model_len. Un client in grado di raggiungere l'endpoint su una configurazione di modello interessata può quindi inviare un elenco token_ids troppo lungo per innescare il fallimento del worker e causare un denial of service (DoS). Risolto nella versione 0.29.0.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.