🔍 CVE-2026-28400

7.5
CVSS Score
HIGH
2026-02-27
2026-06-17 10:28
✅ 완료

🇰🇷 한글 설명

Docker Model Runner 1.0.16 이전 버전의 /engines/_configure 엔드포인트가 인증 없이 임의의 런타임 플래그를 받아들이고 llama.cpp에 직접 전달합니다. --log-file 플래그 주입을 통해 공격자는 Model Runner 프로세스가 접근 가능한 임의 파일을 덮어쓸 수 있으며, Docker Desktop 환경에서는 컨테이너 escape까지 가능합니다.

💡 쉬운 설명

Docker의 AI 모델 관리 소프트웨어에 누구나 설정을 변경할 수 있는 보안 결함이 있습니다. 이를 악용하면 파일을 삭제하거나 컨테이너를 탈출할 수 있습니다.

🇺🇸 원문 (English)

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.

📍 영향받는 시스템

Docker Model Runner < 1.0.16, Docker Desktop < 4.61.0 (4.46.0 이후 기본 활성화)

⚔️ 공격 벡터

네트워크 접근 가능한 POST /engines/_configure 엔드포인트에 --log-file 플래그를 주입하여 임의 파일 쓰기 수행

🛡️ 대응 방법

Docker Desktop을 4.61.0 이상으로 업그레이드하거나 Enhanced Container Isolation (ECI) 활성화

🔧 검증 코드

Docker Desktop 버전이 4.61.0 미만이면 VULNERABLE 출력, 4.61.0 이상이면 PATCHED 출력

Shell / Script
docker version --format '{{.Server.Version}}' 2>/dev/null | grep -oE '^[0-9]+' && docker version --format '{{.Server.Version}}' 2>/dev/null | awk -F. '{if($1==4 && $2<61) print "VULNERABLE"; else print "PATCHED"}'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:H

💻 영향받는 소프트웨어

Docker