Wiz: примерный ключ sk-1234 открыл доступ к сотням шлюзов LiteLLM

Исследователи Wiz в феврале обнаружили через Shodan 3 074 доступных из интернета шлюза LiteLLM, и 294 из них приняли примерный административный ключ sk-1234. В 191 случае мастер-ключ не был задан вовсе, поэтому сервер принимал любое значение; на остальных системах операторы оставили значение из руководства по настройке.
LiteLLM — открытый AI-шлюз, через который приложения компании обращаются к поставщикам моделей. Мастер-ключ одновременно включает аутентификацию и даёт административные полномочия. Его компрометация позволяет получить сохранённые на шлюзе API-ключи провайдеров, а также просматривать проходящие через него запросы и ответы.
Почему примерный ключ создаёт широкий риск
До версии 1.82.0-stable запуск LiteLLM без мастер-ключа предоставлял каждому входящему запросу полные права администратора. Такие права могут открыть путь к расходам на использование моделей за счёт компании — этот сценарий исследователи называют LLMjacking.
Wiz также показала, что администратор может создать pass-through-маршрут к произвольному URL. LiteLLM не проверяет адрес назначения на принадлежность к localhost, частным сетям или сервису метаданных облачного экземпляра. Поэтому маршрут можно направить к instance metadata service и получить IAM-учётные данные, возвращаемые сервисом.
IMDSv2 сам по себе не блокирует этот путь: документация LiteLLM предусматривает передачу заголовков с префиксом x-pass- к целевому адресу без префикса. Wiz использовала этот механизм для отправки заголовков, нужных IMDSv2. Исследователи не сообщают о применении такого способа против реальной установки; для него сначала необходим административный доступ.
Исправленные CVE и позиция проекта
LiteLLM не считает pass-through-маршрут уязвимостью, поскольку модель угроз предполагает доверие к администраторам. В опубликованной политике безопасности ошибки конфигурации, включая отсутствие мастер-ключа, прямо исключены из области рассматриваемых уязвимостей. Патча для обращения к метаданным через этот маршрут нет.
Отдельно Wiz описала CVE-2026-59821: до 1.82.0-stable конечные точки создания и обновления пользовательских guardrails обходили проверки песочницы и шаблонов, позволяя передать Python-код для выполнения в контейнере. LiteLLM оценивает эту проблему как Low с CVSS 2.1, поскольку она требует высокопривилегированной учётной записи, тогда как Wiz характеризует результат теста как выполнение кода с uid=0 в контейнере.
В advisories также перечислены CVE-2026-40217, связанная с обходом песочницы в версиях от 1.81.8 до 1.83.10, и CVE-2026-59822 — обход аутентификации MCP до 1.84.0. CISA внесла последнюю в каталог Known Exploited Vulnerabilities. Отдельная ранее исправленная связка CVE-2026-42271 и CVE-2026-48710 использовалась злоумышленниками для выполнения команд; Microsoft связывает с ней инцидент, в котором из процесса шлюза извлекли ключи и строку подключения к PostgreSQL.
Что проверить операторам LiteLLM
LiteLLM рекомендует обновиться до версии 1.84.0 или новее: она включает исправления всех перечисленных проблем. Мастер-ключ следует немедленно заменить с sk-1234 на длинное случайное значение. Перед ротацией нужно проверить наличие отдельного salt key, так как неверная процедура может сделать сохранённые учётные данные нечитаемыми.
Если обновление пока невозможно, advisories предлагают блокировать на reverse proxy или API-шлюзе путь /mcp/, MCP test endpoints и POST /guardrails/test_custom_code, а создание и изменение guardrails ограничить администраторами. Дополнительно стоит проверить pass-through-маршруты, ограничить исходящий сетевой доступ контейнера и выдать рабочей нагрузке минимально необходимые IAM-права.
При подозрении на доступ постороннего необходимо просмотреть список guardrails, перезапустить процесс для очистки кода из памяти и сменить ключи провайдеров, мастер-ключ и учётные данные базы данных. Обновление не удалит уже зарегистрированный вредоносный guardrail или добавленный SSH-ключ. Для бизнеса практический приоритет — рассматривать AI-шлюз как хранилище критичных секретов и проверять не только версию ПО, но и фактическую конфигурацию доступа.

