Критическая уязвимость LMCache открывает удалённое выполнение кода

LMCache, программное обеспечение с открытым исходным кодом для ускорения серверов больших языковых моделей, включая vLLM, содержит критическую уязвимость CVE-2026-105192. Неаутентифицированный удалённый атакующий может добиться выполнения произвольных команд на сервере кэширования без учётной записи и пароля. О проблеме 7 октября сообщила компания JFrog; уязвимость обнаружил Yuval Moravchick из её команды по исследованию безопасности. Исправленной версии LMCache пока нет, а оценка опасности составляет 9,8 из 10.
Критическая уязвимость LMCache открывает удалённое выполнение кода
Изображение носит иллюстративный характер

Проблема возникает в многопроцессном режиме LMCache. В такой конфигурации программа запускается как отдельный сервер кэширования, а рабочие процессы LLM обмениваются с ним данными через библиотеку сообщений ZeroMQ. Специально сформированное сетевое сообщение заставляет сервер выполнить команды, выбранные атакующим. Код запускается с правами пользователя, от имени которого работает процесс LMCache.
Уязвимы версии LMCache от 0.3.9, выпущенной в октябре 2025 года, до 0.5.5, которая считается последним стабильным релизом. Под угрозой остаются также кандидаты на выпуск 0.5.6 и ветка разработки. Патча нет ни для одной из этих версий, поэтому обновление внутри текущего ряда само по себе не устраняет риск.
По умолчанию многопроцессный сервер принимает соединения только на localhost. В таком случае доступ к порту есть лишь у программ на той же машине. Опасная ситуация возникает после настройки прослушивания на маршрутизируемом адресе. Это бывает в многузловых развёртываниях, где несколько машин используют один экземпляр LMCache. Чем шире доступ к сетевому порту, тем больше потенциальных источников атаки.
Особого внимания требует официальный пример развёртывания LMCache в Kubernetes: сервер в нём запускается с прослушиванием на всех сетевых интерфейсах. При такой настройке к нему могут обращаться другие машины и сетевые клиенты. Напротив, экземпляр LMCache, работающий внутри одного процесса vLLM, не открывает уязвимый порт. Описанная проблема относится именно к автономному многопроцессному серверу.
Причина связана с обработкой сообщений ZeroMQ. Сокет, через который рабочие процессы регистрируются на сервере и передают кэшированные данные, не использует аутентификацию. Один из типов сообщений распаковывается средствами Python pickle. Этот формат способен содержать исполняемый код: он запускается уже во время декодирования объекта. LMCache разбирает сообщение при чтении его аргументов, ещё до проверки типа сообщения. Поэтому вредоносная нагрузка может сработать немедленно, до того как сервер поймёт, какую именно команду получил.
Последствия зависят от прав процесса LMCache. Если программа работает с привилегиями обычного пользователя, атакующий получает соответствующий уровень доступа. По данным JFrog, официальные контейнерные образы LMCache запускают процесс от имени root. В таком контейнере успешная эксплуатация может дать злоумышленнику полный контроль на уровне root внутри контейнера. Это не означает автоматический выход на хост, но существенно расширяет последствия ошибки конфигурации.
Оценка 9,8 из 10 относится к серверу, доступному по маршрутизируемому адресу. Любой узел, способный подключиться к открытому порту, потенциально может выполнить код без действительных учётных данных. До выхода исправления сервер следует оставлять доступным только на локальной машине либо в доверенной кластерной сети. Доступ к порту нужно ограничить межсетевым экраном. Фильтрация снижает вероятность атаки, но не исправляет ошибку: каждый узел, которому всё ещё разрешено соединение, остаётся потенциальным источником выполнения кода.
LMCache пока не опубликовал собственное уведомление безопасности по CVE-2026-105192. В рекомендациях JFrog также нет способа установить, подвергался ли конкретный сервер атаке. Отдельно пользователь GitHub 6 октября, за день до публичного раскрытия CVE-2026-105192, направил шесть дополнительных сообщений о безопасности LMCache. В них заявлены неаутентифицированный доступ к кэшированным данным других арендаторов и доступ к нескольким сетевым службам, способным выполнять команды без входа в систему. Все шесть сообщений поступили с одной учётной записи, основаны на заявлениях о proof-of-concept, не имеют идентификаторов CVE, подтверждения сопровождающих LMCache или исправлений.
Одно из этих сообщений касается административного HTTP-сервера. В LMCache 0.5.5 он по умолчанию слушал все сетевые интерфейсы, тогда как в кандидатах на выпуск 0.5.6 сервер настроен на прослушивание только локального хоста. Это изменение уменьшает сетевую доступность службы, но не заменяет полноценное исправление остальных проблем.
С LMCache связан отдельный дефект в vLLM: CVE-2026-105756. Он устранён в vLLM 0.30.0, выпущенном 22 сентября. Уязвимыми были версии до 0.30.0 при использовании многопроцессного коннектора LMCache. Один запрос с некорректным значением cache_salt мог привести к падению движка vLLM. Оценка этой проблемы составляет 6,5; она вызывает отказ в обслуживании, но не даёт возможности выполнять произвольный код.
Обе истории укладываются в более широкий класс ошибок, связанный с передачей данных из неаутентифицированного сетевого сокета в механизм десериализации Python pickle. Исследователи обнаружили похожие дефекты в других фреймворках для инференса ИИ в ноябре 2025 года и объединили их под названием ShadowMQ. При этом пока не установлено, происходят ли исходные фрагменты кода LMCache из тех же проектов, в которых нашли уязвимости ShadowMQ.


Новое на сайте

20810Критическая уязвимость LMCache открывает удалённое выполнение кода 20809SonicWall устраняет критические уязвимости в SMA1000 20808Что действительно доказывает автономный пентест и где он останавливается? 20807Киберриск переместился внутрь рабочего процесса 20806Как китайская хакерская сеть превратила украденную почту в доступный другим сервис? 20805ARTEX и SCARLET LOOP: как ИИ превратился в инструмент кражи данных 20804Как Linux-бэкдоры маскируются под почтовую защиту в южной Корее и на Тайване? 20803Сможет ли Anthropic открыть опасные возможности ИИ для защиты сетей? 20802Японию накрыла волна утечек через API и Metabase 20801Как захват .gh, .sl и .as позволил выпускать сертификаты для Google? 20800Как MonsterCloud могла заработать на выкупе у киберпреступников? 20799Почему CVE-2026-21589 начали эксплуатировать через два часа после раскрытия? 20798Подделка админ-сессий в Rejetto HFS 20797Почему CVE-2026-88779 отключает SAML-сервисы NetScaler? 20796Почему Apple ограничит полный доступ ИИ-агентов к диску?
Ссылка