Исследователи безопасности из Oligo Security обнаружили серию критических уязвимостей удаленного выполнения кода в широко распространенных серверах AI-инференса. Проблемы затрагивают фреймфорки NVIDIA, Microsoft и открытые проекты vLLM, SGLang, Modular, потенциально подвергая корпоративную AI-инфраструктуру серьезным рискам.
Детали уязвимостей
Выявленные уязвимости получили идентификаторы CVE-2025-30165 для vLLM, CVE-2025-23254 для NVIDIA TensorRT-LLM и CVE-2025-60455 для Modular Max Server. Все они классифицируются как критические, с оценкой CVSS 9.3 для TensorRT-LLM. Производители уже выпустили исправления в версиях v0.8.0 для vLLM, v0.18.2 для TensorRT-LLM и v25.6 для Modular Max Server.
Исследователи идентифицировали общую первопричину, названную ShadowMQ, которая заключается в небезопасном использовании ZeroMQ в сочетании с механизмом десериализации Python pickle. Эта фундаментальная ошибка безопасности распространилась по множеству AI-фреймворков через повторное использование кода, когда разработчики копировали уязвимые паттерны из одного проекта в другой, иногда дословно.
Проблема возникает при использовании метода recv_pyobj() из ZeroMQ, который десериализует входящие данные через модуль Python - pickle. Это создает критическую уязвимость безопасности, поскольку pickle может выполнять произвольный код во время десериализации. При использовании через незащищенные сетевые сокеты это позволяет удаленным злоумышленникам выполнять вредоносный код.
Опасный паттерн обнаружился в основных движках AI-инференса, составляющих основу корпоративных AI-операций. TensorRT-LLM от NVIDIA, проекты на базе PyTorch vLLM и SGLang, а также Modular Max Server содержали практически идентичные небезопасные реализации. В случае с SGLang уязвимый файл кода буквально начинался с комментария "Адаптировано из vLLM", демонстрируя, как ошибки безопасности распространяются через копирование кода.
Среди организаций, использующих эти фреймфорки, значатся крупные технологические компании, включая xAI, AMD, Intel, LinkedIn, Oracle Cloud, Google Cloud, Microsoft Azure и AWS, а также ведущие университеты.
Исследователи обнаружили тысячи незащищенных ZMQ-сокетов, общающихся в незашифрованном виде через публичный интернет, причем некоторые явно принадлежали продакшен-серверам инференса. Успешная эксплуатация уязвимостей может позволить злоумышленникам выполнять произвольный код на GPU-кластерах, повышать привилегии во внутренних системах, извлекать конфиденциальные данные моделей или устанавливать майнеры криптовалют.
NVIDIA, vLLM и Modular оперативно отреагировали выпуском патчей, которые заменили pickle на более безопасные механизмы сериализации, такие как JSON или msgpack, и реализовали HMAC-валидацию. Тем не менее, некоторые проекты, включая Sarathi-Serve от Microsoft, остаются уязвимыми, представляя то, что исследователи называют "теневыми уязвимостями" - известные проблемы без CVE, которые тихо сохраняются в production-окружениях.
Организациям, использующим AI-фреймворки, следует немедленно обновиться до защищенных версий. Разработчики должны избегать использования pickle или recv_pyobj() с непроверенными данными, внедрять механизмы аутентификации, такие как HMAC или TLS, для ZMQ-коммуникаций и сканировать сеть на предмет открытых ZMQ-эндпоинтов. Сетевой доступ должен быть ограничен путем привязки к конкретным интерфейсам вместо использования "tcp://*", который открывает сокеты на всех сетевых интерфейсах.
Это открытие подчеркивает важный урок для AI-экосистемы: повторное использование кода ускоряет разработку, но может также распространять уязвимости безопасности в огромных масштабах. По мере расширения AI-инфраструктуры аудит безопасности должен успевать за быстрыми циклами разработки, поскольку одна ошибка может оказаться тиражированной в десятках критически важных систем.
Ссылки
- https://www.cve.org/CVERecord?id=CVE-2025-30165
- https://www.cve.org/CVERecord?id=CVE-2025-23254
- https://www.cve.org/CVERecord?id=CVE-2024-50050
- https://www.oligo.security/blog/shadowmq-how-code-reuse-spread-critical-vulnerabilities-across-the-ai-ecosystem