vLLM — это механизм вывода и обслуживания для больших языковых моделей (LLM). Начиная с версии 0.1.0 и до версии 0.19.0, на сервере API vLLM, совместимом с OpenAI, существует уязвимость типа «отказ в обслуживании». Из-за отсутствия проверки верхней границы параметра n в моделях ChatCompletionRequest и CompletionRequest Pydantic неаутентифицированный злоумышленник может отправить один HTTP-запрос с астрономически большим значением n.
Это полностью блокирует асинхронный цикл событий Python и вызывает немедленные сбои из-за нехватки памяти из-за выделения миллионов копий объекта запроса в куче еще до того, как запрос достигнет очереди планирования. Эта уязвимость исправлена в версии 0.19.0.
Показать оригинальное описание (EN)
vLLM is an inference and serving engine for large language models (LLMs). From 0.1.0 to before 0.19.0, a Denial of Service vulnerability exists in the vLLM OpenAI-compatible API server. Due to the lack of an upper bound validation on the n parameter in the ChatCompletionRequest and CompletionRequest Pydantic models, an unauthenticated attacker can send a single HTTP request with an astronomically large n value. This completely blocks the Python asyncio event loop and causes immediate Out-Of-Memory crashes by allocating millions of request object copies in the heap before the request even reaches the scheduling queue. This vulnerability is fixed in 0.19.0.
Характеристики атаки
Последствия
Строка CVSS v3.1