Открытый прокси-сервер LiteLLM стал незаменимым элементом инфраструктуры для организаций, связывающих свои приложения с большими языковыми моделями. Однако недавние события показали, насколько катастрофическими могут быть последствия, когда безопасность AI-инфраструктуры дает сбой. 8 июня 2026 года Агентство по кибербезопасности и защите инфраструктуры США (CISA) добавило CVE-2026-42271 — уязвимость в AI-шлюзе BerriAI LiteLLM — в свой каталог известных эксплуатируемых уязвимостей (KEV), подтвердив, что злоумышленники уже активно используют эту брешь в реальных атаках . Ситуацию усугубляет то, что исследователи из Horizon3.ai продемонстрировали, как эта уязвимость идеально сочетается с другой проблемой в популярном Python ASGI фреймворке Starlette, приводя к наихудшему сценарию: неаутентифицированному удаленному выполнению кода с максимальной степенью опасности по шкале CVSS — 10.0
.
В отдельности CVE-2026-42271 — это уязвимость высокой степени опасности с оценкой CVSS 8.7, затрагивающая все версии LiteLLM с 1.74.2 по 1.83.6 . Проблема кроется в двух эндпоинтах предварительного просмотра Model Context Protocol (MCP), которые были разработаны, чтобы пользователи могли протестировать конфигурацию MCP-сервера перед ее сохранением:
POST /mcp-rest/test/connectionPOST /mcp-rest/test/tools/listОба эндпоинта принимают в теле JSON-запроса полную конфигурацию MCP-сервера, включая поля Cmd, args, и env, которые транспорт stdio использует для запуска серверных процессов . Когда аутентифицированный пользователь вызывает любой из этих эндпоинтов с такой конфигурацией, LiteLLM берет предоставленное значение Cmd и запускает его как подпроцесс на хост-машине с теми же правами операционной системы, что и сам процесс прокси LiteLLM
.
Изначально BerriAI раскрыла эту проблему как аутентифицированное удаленное выполнение кода — злоумышленнику требовался действительный API-ключ для доступа к эндпоинтам, при этом не было проверки ролей, ограничивающей круг лиц. Даже внутренний пользователь с низкими привилегиями и любым действительным ключом API прокси мог выполнять произвольные команды на хосте . Но на этом история не закончилась.
Вторая уязвимость — CVE-2026-48710, названная исследователями "BadHost". Это ошибка проверки HTTP-заголовка Host в Starlette, легковесном ASGI-фреймворке, который лежит в основе FastAPI, vLLM и тысяч других веб-приложений на Python, включая LiteLLM . Уязвимости подвержены все версии Starlette с 0.8.3 по 1.0.0
.
Первопричина в расхождении парсинга между тем, как Starlette маршрутизирует входящие запросы, и тем, как он восстанавливает URL для логики приложения . Уровень маршрутизации ASGI использует сырой HTTP-путь из запроса для определения целевого эндпоинта. Но свойство
request.url — тот URL, который видят middleware и декораторы приложения — восстанавливается путем конкатенации сырого значения заголовка Host с путем запроса без надлежащей проверки .
Путем внедрения в заголовок Host разделительных символов URI, таких как ? или #, злоумышленник может сделать так, что request.url.path будет выглядеть совершенно иначе, чем фактический маршрутизируемый путь . Промежуточное ПО (middleware) видит безобидный путь вроде
/, в то время как маршрутизатор "за кулисами" направляет запрос на реальный целевой эндпоинт. Любое middleware для аутентификации на основе пути, доверяющее request.url.path, может быть тривиально обойдено .
Декоратор аутентификации LiteLLM проверяет request.url.path, чтобы определить, требуется ли для запроса действительный API-ключ. Обход BadHost позволяет злоумышленнику манипулировать этим URL так, что промежуточное ПО аутентификации видит путь, не требующий проверки, в то время как ASGI-маршрутизатор одновременно отправляет запрос к одному из уязвимых эндпоинтов для инъекции команд .
Это убирает единственный барьер контроля доступа, который стоял между интернетом и выполнением произвольных команд. Злоумышленник без каких-либо учетных данных и предварительного доступа к сети может отправить один специально созданный HTTP-запрос, который полностью обходит аутентификацию и выполняет команды операционной системы на хосте прокси LiteLLM . Horizon3.ai подтвердили, что полная цепочка работает, и присвоили ей комбинированную оценку CVSS 10.0 — максимальный уровень опасности — так как она позволяет достичь неаутентифицированного удаленного выполнения кода
.
Успешная эксплуатация дает злоумышленнику возможность выполнять команды с привилегиями процесса прокси LiteLLM. С этого момента поверхность для атаки стремительно расширяется:
Добавление CISA уязвимости CVE-2026-42271 в каталог KEV 8 июня 2026 года подтверждает, что уязвимость не теоретическая — злоумышленники активно используют ее прямо сейчас . Согласно Оперативной директиве обязательного характера 22-01 (BOD 22-01), все федеральные гражданские органы исполнительной власти США должны устранить уязвимости из каталога KEV в установленные сроки. CISA также настоятельно рекомендует всем организациям, государственным и частным, рассматривать пополнение каталога KEV как приоритет для экстренного исправления
.
Исправление комбинированного эксплойта требует обновлений на двух фронтах, а также нескольких мер глубокоэшелонированной защиты для устранения последствий раскрытия учетных данных:
Host на соответствие спецификации URL и игнорирует заголовки с недопустимыми символами, предотвращая трюк с подменой пути, который лежит в основе обхода аутентификации Комбинированная оценка опасности CVSS 10.0, активная эксплуатация "в дикой природе" и статус KEV от CISA означают, что организации, использующие LiteLLM или сервисы на базе Starlette, должны рассматривать это как событие, требующее экстренного исправления и смены всех ключей. Окно между активной эксплуатацией и кражей учетных данных уже открыто.
Studio Global AI
Use this topic as a starting point for a fresh source-backed answer, then compare citations before you share it.
Уязвимость в AI шлюзе LiteLLM (CVE 2026 42271) позволяет выполнить инъекцию команд через тестовые MCP эндпоинты, а обход проверки заголовка Host в Starlette (CVE 2026 48710) убирает необходимость аутентификации, что в...
Уязвимость в AI шлюзе LiteLLM (CVE 2026 42271) позволяет выполнить инъекцию команд через тестовые MCP эндпоинты, а обход проверки заголовка Host в Starlette (CVE 2026 48710) убирает необходимость аутентификации, что в... Атака работает за счет комбинации запуска указанной злоумышленником команды на сервере и трюка с изменением пути запроса в фреймворке Starlette, который обманывает систему безопасности, заставляя считать вредоносный з...
Для защиты требуется немедленно обновить LiteLLM до версии 1.83.7 или выше, Starlette до 1.0.1 или выше, а также — это критически важно — сменить все ключи API и учетные данные, которые когда либо хранились в прокси L...
POST /mcp-rest/test/connectionPOST /mcp-rest/test/tools/list