🇰🇷 한글 설명
Windows용 Docker CLI가 기본적으로 존재하지 않는 디렉토리인 C:\ProgramData\Docker\cli-plugins에서 플러그인 바이너리를 검색하는 취약점입니다. 권한이 낮은 공격자가 해당 디렉토리를 생성하고 악성 플러그인을 배치하면, 사용자가 Docker CLI를 실행할 때 악성 코드가 실행되어 권한 상승이 발생할 수 있습니다.
💡 쉬운 설명
컴퓨터에 특정 폴더가 없으면 공격자가 그 폴더를 직접 만들고 가짜 프로그램을 넣어둘 수 있는 문제입니다. 사용자가 Docker 명령어를 쓰는 순간 공격자가 만든 가짜 프로그램이 몰래 실행되어 컴퓨터 제어권을 뺏길 수 있습니다.
🇺🇸 원문 (English)
Docker CLI for Windows searches for plugin binaries in C:\ProgramData\Docker\cli-plugins, a directory that does not exist by default. A low-privileged attacker can create this directory and place malicious CLI plugin binaries (docker-compose.exe, docker-buildx.exe, etc.) that are executed when a victim user opens Docker Desktop or invokes Docker CLI plugin features, and allow privilege-escalation if the docker CLI is executed as a privileged user.
This issue affects Docker CLI: through 29.1.5 and Windows binaries acting as a CLI-plugin manager using the github.com/docker/cli/cli-plugins/manager https://pkg.go.dev/github.com/docker/
[email protected]+incompatible/cli-plugins/manager package, such as Docker Compose.
This issue does not impact non-Windows binaries, and projects not using the plugin-manager code.
📍 영향받는 시스템
Docker CLI 29.1.5 이하 버전의 Windows 바이너리 (Docker Compose 포함)
⚔️ 공격 벡터
저권한 사용자가 특정 경로에 악성 CLI 플러그인 바이너리를 생성하여 배치
🛡️ 대응 방법
Docker CLI를 최신 보안 패치가 적용된 버전으로 업데이트하거나, 해당 경로에 대한 쓰기 권한을 제한하십시오.
🔧 검증 코드
출력된 버전이 29.1.5 이하인지 확인하여 취약 여부를 판단합니다.
docker version --format '{{.Client.Version}}'