Docker Model Runner (DMR) — это программное обеспечение, используемое для управления, запуска и развертывания моделей искусственного интеллекта с помощью Docker. Версии до 1.0.16 предоставляют конечную точку POST `/engines/_configure`, которая принимает произвольные флаги времени выполнения без аутентификации. Эти флаги передаются непосредственно на базовый сервер вывода (llama.cpp).
Внедряя флаг --log-file, злоумышленник, имеющий сетевой доступ к API Model Runner, может записать или перезаписать произвольные файлы, доступные для процесса Model Runner. В комплекте с Docker Desktop (где Model Runner включен по умолчанию, начиная с версии 4.46.0) он доступен из любого контейнера по умолчанию в model-runner.docker.internal без аутентификации. В этом контексте перезапись файла может быть нацелена на диск виртуальной машины Docker Desktop (Docker.raw), что приведет к уничтожению всех контейнеров, образов, томов и истории сборки.
Однако в определенных конфигурациях и при взаимодействии с пользователем можно преобразовать эту уязвимость в выход контейнера. Проблема исправлена в Docker Model Runner 1.0.16. Пользователям Docker Desktop следует обновиться до версии 4.61.0 или более поздней, которая включает исправленный Model Runner.
Обходной путь доступен. Для пользователей Docker Desktop включение Enhanced Container Isolation (ECI) блокирует доступ контейнера к Model Runner, предотвращая эксплуатацию. Однако, если Docker Model Runner доступен для локального хоста через TCP в определенных конфигурациях, уязвимость все равно можно использовать.
Показать оригинальное описание (EN)
Docker Model Runner (DMR) is software used to manage, run, and deploy AI models using Docker. Versions prior to 1.0.16 expose a POST `/engines/_configure` endpoint that accepts arbitrary runtime flags without authentication. These flags are passed directly to the underlying inference server (llama.cpp). By injecting the --log-file flag, an attacker with network access to the Model Runner API can write or overwrite arbitrary files accessible to the Model Runner process. When bundled with Docker Desktop (where Model Runner is enabled by default since version 4.46.0), it is reachable from any default container at model-runner.docker.internal without authentication. In this context, the file overwrite can target the Docker Desktop VM disk (`Docker.raw` ), resulting in the destruction of all containers, images, volumes, and build history. However, in specific configurations and with user interaction, it is possible to convert this vulnerability in a container escape. The issue is fixed in Docker Model Runner 1.0.16. Docker Desktop users should update to 4.61.0 or later, which includes the fixed Model Runner. A workaround is available. For Docker Desktop users, enabling Enhanced Container Isolation (ECI) blocks container access to Model Runner, preventing exploitation. However, if the Docker Model Runner is exposed to localhost over TCP in specific configurations, the vulnerability is still exploitable.
Характеристики атаки
Последствия
Строка CVSS v3.1