docker-mcp Windows 명령 주입 취약점(CVE-2026-116102)이란?

QuantGeekDev의 docker-mcp에서 발생한 CVE-2026-116102 취약점은 Windows 환경에서 project_name 인수가 안전한 인용 처리 없이 셸 명령에 전달되면서 생기는 OS 명령 주입 취약점입니다. 공격자나 악의적인 에이전트가 제공한 입력값으로 시스템에서 원격 코드 실행(RCE)이 가능해집니다. 그만큼 Windows 사용자에게 위험합니다.

CVE-2026-116102 취약점 개요

docker-mcp는 Claude AI와 같은 AI 어시스턴트가 Model Context Protocol(MCP) 서버로 컨테이너와 compose 스택을 효율적으로 관리하도록 돕는 도구입니다. 그런데 최근 이 소프트웨어의 Windows 명령 구성 경로에서 심각한 보안 결함이 발견돼 CVE-2026-116102로 게시되었습니다.

이 취약점은 VulDB가 CNA(CVE Numbering Authority)로 발급했고, 현재 상태는 ‘PUBLISHED’로 공개되어 있습니다. 특히 이 문제는 범용적인 플랫폼 문제가 아닙니다. Windows 환경의 특정 처리 경로에서 발생한 문제입니다.

기술적 분석 및 영향 범위

1. 취약점 발생 원인

이 취약점의 핵심은 입력값을 제대로 검증하고 살균(Sanitization)하는 절차가 누락됐다는 데 있습니다. 구체적인 분석 내용은 다음과 같습니다.

  • 발생 지점: docker_executor.py 파일 내의 _build_windows_command 경로에서 문제가 발생합니다.
  • 취약 메커니즘: Windows 환경에서 명령어를 구성할 때 project_name 인수가 쓰입니다. 그런데 이 인수는 안전한 인용(quoting) 처리 없이 그대로 셸 명령에 전달되는 구조입니다.
  • 공격 벡터: 공격자 또는 신뢰할 수 없는 에이전트가 특수하게 조작된 project_name 값을 제공해 셸의 명령 구분자를 삽입하고, 의도하지 않은 추가 명령을 실행하게 만듭니다.

2. 잠재적 피해 결과

입력값 검증 부재로 생긴 OS 명령 주입은 시스템 권한 탈취로 이어지는 치명적인 결과를 낳습니다.

  1. 원격 코드 실행(RCE): 공격자가 임의의 OS 명령을 주입해 대상 시스템에서 코드를 실행합니다.
  2. 시스템 제어권 상실: docker-mcp가 구동되는 권한 수준에 따라 컨테이너 관리 권한뿐 아니라 호스트 OS 전체의 제어권이 노출될 수 있습니다.

3. 취약점 상세 요약

취약점의 주요 특징을 표로 정리했습니다.

구분 상세 내용
CVE 식별 번호 CVE-2026-116102
영향을 받는 제품 QuantGeekDev docker-mcp
취약한 플랫폼 Windows
취약점 유형 OS 명령 주입 (OS Command Injection)
핵심 취약 지점 docker_executor.py 내 _build_windows_command
위험 결과 원격 코드 실행 가능

권고 대응 방안 및 점검 포인트

Windows 환경에서 docker-mcp로 MCP 서버를 운영 중인 개발자와 보안 운영자는 즉시 아래 조치를 취하는 편이 좋습니다.

1. 최신 버전 업데이트

가장 확실한 해결 방법은 OS 명령 주입 취약점이 패치된 최신 버전으로 업데이트하는 것입니다. 패치 버전에서는 명령 구성 시 인용 처리와 입력값 검증 로직이 보완돼 명령 주입 시도를 차단합니다.

2. 입력값 살균(Sanitize) 처리 적용

업데이트 외에도 애플리케이션 레벨에서 project_name 입력값을 엄격히 검토하는 일이 중요합니다.

  • 입력값 검토 및 살균: project_name 입력값에 허용되지 않는 특수문자가 섞여 있는지 검토한 뒤 살균(sanitize) 처리합니다.

이번 CVE-2026-116102 사례는 Windows 환경의 개발자와 운영자에게 외부 입력값이 셸 명령으로 전달될 때의 위험성을 보여 줍니다. 그래서 철저한 입력값 살균과 패치 관리가 필수입니다.

댓글 남기기