Три CVE в LiteLLM позволяют захватить ИИ-шлюз
Три CVE позволяют пользователю с минимальными правами стать администратором LiteLLM и выполнять код на сервере. Исправление уже вышло в версии 1.83.14-stable.
Новости TprogerЕсли в вашей сети стоит LiteLLM — проверьте версию. Исследователи Obsidian Security обнаружили цепочку из трёх уязвимостей, которая позволяет обычному пользователю с минимальными правами стать администратором прокси и выполнять произвольный код на сервере. Полная цепочка оценена в CVSS 9,9 — критический уровень.
LiteLLM — популярный open-source ИИ-шлюз, который выступает единой точкой доступа к свыше ста провайдерам моделей (OpenAI, Anthropic, Google Gemini, AWS Bedrock, Azure и другим). Через него проходят API-ключи, промпты и ответы, поэтому компрометация шлюза равнозначна компрометации всей ИИ-инфраструктуры.
Ключевые выводы
Главное об уязвимостях LiteLLM
Три CVE объединяются в цепочку: CVE-2026-47101 (обход авторизации), CVE-2026-47102 (повышение привилегий) и CVE-2026-40217 (выполнение кода).
Оценка полной цепочки — CVSS 9,9. Отдельная CVE-2026-47102 получила 8,7 по CVSS 4.0 и 8,8 по CVSS 3.1.
Исправление вошло в релиз LiteLLM v1.83.14-stable, опубликованный 2 мая 2026 года — это первый релиз с полным набором патчей.
Компрометация открывает доступ к мастер-ключу LiteLLM, salt-ключу для расшифровки сохранённых учётных данных, URL базы данных и всем провайдер-ключам, а также позволяет подменять ответы модели.
Это не первый серьёзный инцидент с LiteLLM в 2026 году: в марте злоумышленники скомпрометировали PyPI-релизы проекта, а в апреле критическая SQL-инъекция эксплуатировалась менее чем через сутки после раскрытия. Новая цепочка пока не зафиксирована в реальных атаках, но её потенциальная опасность сопоставима с полным захватом сервера.
Как работает цепочка
Атака строится на том, что разные уровни проверок доверяют данным, которые присылает пользователь. Роль internal_user — это учётная запись с низкими правами по умолчанию, которую часто выдают обычным сотрудникам.
- CVE-2026-47101 — обход авторизации. Обычный
internal_userпри создании виртуального ключа может указать полеallowed_routesбез проверки. Значение["/*"]даёт доступ ко всем маршрутам, включая административные. - CVE-2026-47102 — повышение привилегий. Эндпоинт
/user/updateпозволяет пользователю редактировать собственную запись и записатьuser_role: "proxy_admin". После этого атакующий становится полным администратором. - CVE-2026-40217 — выполнение кода. Механизм
Custom Code Guardrail(он запускает Python-скрипты для проверки запросов) компилирует код администратора черезexec()без фильтрации. Если в глобальном пространстве имён (globals) не убран__builtins__, Python автоматически подкладывает встроенные функции — нужно лишь вызватьos.systemдля обратного шелла.
Чем это опасно
Шлюз сидит между агентом и моделью, поэтому взломанный прокси читает и может изменять всё, что через него проходит. Атакующий получает мастер-ключ LiteLLM, salt-ключ для расшифровки сохранённых учётных данных, URL СУБД и все провайдер-ключи. Кроме утечки данных, он может подменять ответы модели: в демонстрации Obsidian встроенный обратный вызов LiteLLM (callback) подменил ответ Claude Code на поддельный вызов инструмента. Пользователь напечатал одно слово hello, а агент выполнил код, открывший реверс-шелл на машине разработчика.
Что делать
- Обновиться до
LiteLLM v1.83.14-stableили новее — это первый релиз с полным набором патчей. - Перепроверить всех пользователей с ролью
proxy_admin: в LiteLLM эта роль может запускать произвольный код через Custom Code Guardrail и MCP, то есть фактически даёт root-доступ на хост. - Проверить обратные вызовы (
callbacks) вlitellm_settings.callbacksвconfig.yaml: они не видны в интерфейсе, но исполняются на каждом запросе. - Провести аудит Custom Code Guardrail и убедиться в целостности развёрнутого кода, а не только конфигурации.
- При подозрении на компрометацию сменить провайдер-ключи, учётные данные БД и MCP-токены.
Часто задаваемые вопросы
Какие версии LiteLLM уязвимы?
Уязвимы версии, предшествующие v1.83.14-stable. Сам релиз v1.83.14-stable, опубликованный 2 мая 2026 года, уже содержит исправление. CVE-2026-40217 связана с механизмом Custom Code Guardrail.
Нужен ли атакующему админ-доступ изначально?
Нет. Цепочка начинается с учётной записи internal_user — роли с низкими привилегиями, которая часто выдаётся обычным сотрудникам по умолчанию.
Это уже использовалось в реальных атаках?
Obsidian Security не заявляет об активной эксплуатации этой конкретной цепочки. Однако отдельная уязвимость в MCP-подсистеме LiteLLM (CVE-2026-42271) уже эксплуатировалась и попала в каталог CISA KEV (Known Exploited Vulnerabilities — известные эксплуатируемые уязвимости) ранее в этом месяце.
Почему прокси опаснее обычного сервиса?
ИИ-шлюз хранит ключи всех моделей и видит промпты с ответами. Его компрометация позволяет не только красть данные, но и незаметно менять ответы, на основе которых агенты совершают действия.
Контекст: ранее Tproger уже разбирал supply chain-атаку на LiteLLM, в ходе которой вредоносные версии пакета попали на PyPI.
Если в вашей сети есть LiteLLM — обновление и аудит прав стоит провести до конца недели. Подробнее — в первоисточнике.