Probllama в Ollama: ИИ-серверы захвачены киберпиратами

Исследователи в области безопасности ИИ выявили серьёзную уязвимость в открытой платформе искусственного интеллекта Ollama. Уязвимость, получившая кодовое имя Probllama и идентификационный номер CVE-2024-37032,могла быть использована злоумышленниками для удалённого выполнения кода.

Недостаток безопасности был выявлен компанией Wiz, занимающейся облачной безопасностью. Проблема была официально раскрыта 5 мая 2024 года и устранена в версии 0.1.34,выпущенной 7 мая 2024 года.

Платформа Ollama предназначена для упаковки, развёртывания и запуска крупных языковых моделей (LLM) на устройствах под управлением Windows, Linux и macOS. Основной проблемой стала недостаточная проверка вводимых данных, что и привело к уязвимости типа Path Traversal. Эта уязвимость позволяла злоумышленникам перезаписывать произвольные файлы на сервере и выполнять удалённый код.

Для успешной эксплуатации уязвимости злоумышленнику необходимо было отправить специально сформированные HTTP-запросы к API серверу Ollama. В частности, эксплуатировался конечный пункт API “/api/pull”, предназначенный для загрузки моделей из официального или частного репозитория. Злоумышленники могли предоставить вредоносный файл манифеста модели, содержащий вредоносный путь в поле digest.

Эта уязвимость могла использоваться для повреждения файлов системы и удалённого выполнения кода путём перезаписи конфигурационного файла “etc/ld.so.preload”, связанного с динамическим компоновщиком (“ld.so”), для включения вредоносной библиотеки и её запуска перед выполнением любой программы.

Хотя риск удалённого выполнения кода в стандартных установках Linux минимален, в Docker-развёртываниях, где API-сервер открыт для публичного доступа, риск возрастает многократно. В этих условиях сервер работает с правами root и прослушивает 0.0.0.0, что позволяет удалённую эксплуатацию уязвимости.

Исследователь безопасности Саги Цадик отметил, что проблема особенно серьёзна в установках Docker, так как сервер работает с правами суперпользователя и слушает все сетевые интерфейсы.

Дополнительной проблемой является отсутствие аутентификации в Ollama, что позволяет злоумышленникам эксплуатировать общедоступные серверы для кражи или изменения моделей ИИ и компрометации серверов для самоуправляемого вывода ИИ.

Для обеспечения безопасности таких сервисов рекомендуется использовать промежуточное ПО, такое как обратные прокси-серверы с аутентификацией. Wiz выявила более 1000 открытых инстансов Ollama, хранящих множество ИИ-моделей без какой-либо защиты.

Цадик добавил, что CVE-2024-37032 – это легкоэксплуатируемая уязвимость, несмотря на современный код платформы Ollama. “Классические уязвимости, такие как Path Traversal, остаются проблемой даже в новейших программных продуктах”.

Компания Protect AI также недавно предупреждалао более чем 60 уязвимостях в различных инструментах для ИИ/ML, включая критические проблемы, такие как раскрытие информации, доступ к ограниченным ресурсам, повышение привилегий и полный захват системы. Самая серьёзная из этих уязвимостей, CVE-2024-22476,представляет собой SQL-инъекцию в программном обеспечении Intel Neural Compressor, что позволяет злоумышленникам загружать произвольные файлы с хост-системы.

Public Release.