CVE-2026-42271
BerriAI LiteLLM
2026-06-08
BerriAI LiteLLM contains a command injection vulnerability that could allow any authenticated user, including holders of low-privilege internal-user keys, to run arbitrary commands on the host.
Технический анализ и план устранения
Суть уязвимости
CVE-2026-42271 представляет собой критическую уязвимость типа Command Injection (инъекция команд) в решении BerriAI LiteLLM. Проблема заключается в недостаточной фильтрации входных данных, передаваемых в системные вызовы или функции исполнения кода. Любой аутентифицированный пользователь, включая владельцев ключей с минимальными привилегиями (internal-user keys), может внедрить вредоносные конструкции в параметры запроса. Это позволяет злоумышленнику выполнять произвольные команды в операционной системе на хосте, где запущен сервис, что ведет к полному захвату инфраструктуры, краже API-ключей сторонних LLM-провайдеров и утечке конфиденциальных данных.
Как исправить
Для полного устранения уязвимости необходимо обновить LiteLLM до версии, в которой исправлена фильтрация аргументов.
- Обновите пакет через менеджер пакетов pip:
pip install --upgrade litellm
- Если вы используете Docker, обновите образ до последней стабильной версии и перезапустите контейнер:
docker pull ghcr.io/berriai/litellm:main-latest
- Перезапустите сервис для применения изменений:
systemctl restart litellm
Временные меры
Если немедленное обновление невозможно, примените следующие защитные механизмы для снижения риска эксплуатации:
- Ограничьте права доступа, отозвав неиспользуемые или подозрительные ключи internal-user:
curl -X POST 'http://localhost:4000/key/delete' -H 'Authorization: Bearer <admin_key>' -d '{"keys": ["<key_to_delete>"]}'
- Настройте сетевой экран (Firewall), чтобы разрешить доступ к API LiteLLM только с доверенных IP-адресов:
iptables -A INPUT -p tcp --dport 4000 -s <trusted_ip> -j ACCEPT
iptables -A INPUT -p tcp --dport 4000 -j DROP
- Запустите процесс LiteLLM от имени пользователя с минимальными системными привилегиями (Non-privileged user) и в изолированном окружении (контейнере) с ограничением доступа к shell:
docker run --rm --user 1000:1000 --cap-drop=ALL ghcr.io/berriai/litellm:main-latest
- Внедрите WAF (Web Application Firewall) перед LiteLLM для фильтрации спецсимволов в теле запросов, таких как:
;,&,|,$(),`.
Пока никто не поделился опытом.
Станьте первым!