Три CVE в LiteLLM позволяют захватить ИИ-шлюз

Три CVE позволяют пользователю с минимальными правами стать администратором LiteLLM и выполнять код на сервере. Исправление уже вышло в версии 1.83.14-stable.

Обложка: Три CVE в LiteLLM позволяют захватить ИИ-шлюз

Если в вашей сети стоит 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-токены.
Часто задаваемые вопросы
1
Какие версии LiteLLM уязвимы?

Уязвимы версии, предшествующие v1.83.14-stable. Сам релиз v1.83.14-stable, опубликованный 2 мая 2026 года, уже содержит исправление. CVE-2026-40217 связана с механизмом Custom Code Guardrail.

2
Нужен ли атакующему админ-доступ изначально?

Нет. Цепочка начинается с учётной записи internal_user — роли с низкими привилегиями, которая часто выдаётся обычным сотрудникам по умолчанию.

3
Это уже использовалось в реальных атаках?

Obsidian Security не заявляет об активной эксплуатации этой конкретной цепочки. Однако отдельная уязвимость в MCP-подсистеме LiteLLM (CVE-2026-42271) уже эксплуатировалась и попала в каталог CISA KEV (Known Exploited Vulnerabilities — известные эксплуатируемые уязвимости) ранее в этом месяце.

4
Почему прокси опаснее обычного сервиса?

ИИ-шлюз хранит ключи всех моделей и видит промпты с ответами. Его компрометация позволяет не только красть данные, но и незаметно менять ответы, на основе которых агенты совершают действия.

Контекст: ранее Tproger уже разбирал supply chain-атаку на LiteLLM, в ходе которой вредоносные версии пакета попали на PyPI.

Если в вашей сети есть LiteLLM — обновление и аудит прав стоит провести до конца недели. Подробнее — в первоисточнике.