LiteLLM снова попал в сводки не из-за новой функции, а из-за дыры, которую уже используют в атаках. Американское агентство CISA добавило уязвимость CVE-2026-42271 в каталог KEV после сообщений об активной эксплуатации.

Речь идёт о баге высокой опасности: он позволяет выполнить команды на сервере, если злоумышленник получил доступ к учётке в системе. Для ИТ-команд это не абстрактная проблема из отчёта, а прямой риск для прокси-сервера, ключей доступа и всей связанной инфраструктуры.

Что произошло

CISA внесла CVE-2026-42271 в перечень известных уязвимостей, которые уже атакуют в реальной среде. По оценке, уязвимость получила 8,7 балла по CVSS и относится к классу command injection — внедрения команд.

Проще говоря, атакующий может подменить часть запроса так, чтобы сервер запустил чужую команду вместо штатного действия. В случае LiteLLM это особенно опасно, потому что сервис часто стоит между пользователями и моделями, а значит хранит чувствительные данные и служебные ключи.

Как это сделано

Проблема сидела в двух эндпоинтах, которые должны были лишь проверять настройки MCP-сервера перед сохранением. Запросы к POST /mcp-rest/test/connection и POST /mcp-rest/test/tools/list принимали в теле полный конфиг сервера, включая поля command, args и env.

Когда в запросе использовали конфигурацию stdio, сервис пытался подключиться и запускал переданную команду как подпроцесс на хосте прокси. Достаточно было валидной ключевой пары API, чтобы вызвать это поведение, в том числе с более привилегированными внутренними ключами.

Это типичный пример того, как тестовый интерфейс превращается в точку входа для атаки. Похожую логику мы уже разбирали в материале про критические дыры, которые ломают серверный периметр, а сама цепочка по последствиям напоминает сценарии, где ошибка в одном компоненте открывает дорогу к всей системе — как в разборе zero-click атаки на Open5GS.

Чем это грозит

Разработчики выпустили LiteLLM 1.83.7, где оба тестовых эндпоинта теперь требуют роль PROXY_ADMIN. Это убирает лишний риск, но только для тех, кто быстро обновится.

Horizon3.ai отдельно показала цепочку атак: CVE-2026-42271 можно соединить с ошибкой в Starlette и полностью обойти проверку доступа. В таком варианте уязвимость превращается в неавторизованное удалённое выполнение кода без учётных данных. Дальше последствия банальны и неприятны: кража ключей API, доступ к секретам прокси, перемещение по смежным сервисам и компрометация связанных AI-систем.

На фоне этого особенно опасно, если LiteLLM стоит в сегменте, куда сходится доступ из разных команд и внешних интеграций. В таком случае атака затрагивает не один хост, а сразу несколько сервисов и учётных записей.

Что делать сейчас

Обновить нужно не только LiteLLM, но и его зависимость Starlette. Разработчики советуют ставить LiteLLM 1.83.7 или новее и Starlette 1.0.1 или новее.

Если обновление затянулось, не оставляйте тестовые маршруты открытыми без причины. Дополнительно проверьте журналы на странные значения Host header и неожиданные запуски подпроцессов — именно такие следы часто остаются после попытки эксплуатации.

Для команд, которые подключаются к AI-инфраструктуре из чужих или общих сетей, полезно добавить ещё один слой защиты трафика и метаданных. В таких сценариях уместен [сервис для дополнительной сетевой защиты]https://freedome.space, если речь идёт о рабочем доступе через публичные точки подключения.

Если вы администрируете прокси или шлюз, не тяните с ротацией секретов. Уязвимости такого типа редко бьют точечно: сначала они забирают доступ, а потом уже ищут, что ещё можно унести из среды.

  • Обновите LiteLLM до 1.83.7 или новее.
  • Обновите Starlette до 1.0.1 или новее.
  • Закройте POST /mcp-rest/test/connection и POST /mcp-rest/test/tools/list на уровне reverse proxy или API gateway, если они не нужны.
  • Ограничьте доступ к прокси только доверенными сегментами сети.
  • Смените ключи и секреты, которые хранились на стороне прокси.
  • Проверьте логи на необычные значения Host header и запуск сторонних процессов.
  • Если вы пользуетесь общими сетями для рабочих задач, заранее продумайте дополнительный защитный слой для соединения.
Поделиться: